Split 関数(文字列型の一次配列を作成)
2015/04/04
Split 関数の使い方
【書式】
myArray = Split ( expression [, delimiter [, limit [, compare ] ] ] )
【引数・戻り値の説明】
- expression ・・・ 分割する文字列を指定します。 expression が長さ 0 の文字列 (“”) である場合、Split 関数は、要素もデータもない空の配列を返します。
- delimiter ・・・ 配列を分割する際の区切り文字を指定します(省略可 ⇒ 省略時は、スペース(” “)が区切り文字に使用されます)。
- limit ・・・ 分割後に作成される配列の最大要素数。「-1」を指定すると制限なしになります。「0」以上の値を指定した場合は作成される要素数は制限され、分割しきれなかった部分は最後の要素にまとめられます(省略可 ⇒ 省略時は「-1」が設定されます)。
- compare ・・・ 文字列の比較モードで、省略時はバイナリモードとなります(詳細は、Compare 設定値表を参照)。
- myArray ・・・ 作成される文字列型(String)の一次元配列
Split 関数を使用して作成した配列のインデックスの最小値は、0 となります。Option Base 1 ステートメントを指定してもインデックスの最小値は 0 のままです。
Compare 設定値表
| 名前 | 値 | 説明 |
| VbUseCompareOption | -1 | Option Compare ステートメントの設定を使用 |
| vbBinaryCompare | 0 | バイナリモードで比較します |
| vbTextCompare | 1 | テキストモードで比較します |
| vbDatabaseCompare | 2 | Microsoft Access の場合のみ使用する値です |
Split 関数の使用例
サンプルVBAソース(その1)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Sub sample_split01() Dim myArray1() As String Dim myArray2() As String Dim myStr As String Dim v Dim i As Long myStr = "月 火 水 木 金 土 日" myArray1 = Split(myStr) Debug.Print "【myArray1】" For i = LBound(myArray1) To UBound(myArray1) Debug.Print "myArray1(" & i; ") = " & myArray1(i) Next i Debug.Print " " Debug.Print "【myArray2】" myStr = "101,105,205,307,420,550" myArray2 = Split(myStr, ",", 3) For i = LBound(myArray2) To UBound(myArray2) Debug.Print "myArray2(" & i; ") = " & myArray2(i) Next i End Sub |
実行結果
サンプルVBAソース(その2)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Option Base 1 Option Compare Text Sub sample_split02() Dim myArray1, myArray2 Dim myStr1, myStr2, tmp1, tmp2, i myStr1 = "月*火*水*木*金*土*日" myArray1 = Split(myStr1, "*") For i = LBound(myArray1) To UBound(myArray1) tmp1 = tmp1 & "myArray1(" & i & ") = " & myArray1(i) & Chr(13) Next i myStr2 = "月*火*水*木*金*土*日" myArray2 = Split(myStr2, "*", -1, vbBinaryCompare) For i = LBound(myArray2) To UBound(myArray2) tmp2 = tmp2 & "myArray2(" & i & ") = " & myArray2(i) & Chr(13) Next i MsgBox tmp1 MsgBox tmp2 End Sub |
実行結果
関連記事
-
-
文字列:指定した文字コードに対応する文字を返す(Chr 関数)
Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …
-
-
変数のデータ型・宣言(Dim ステートメント)
変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …
-
-
文字列:文字を指定数並べた文字列を返す(String 関数)
String 関数 【書式】 result = String ( number, …
-
-
変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )
IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …
-
-
VBA の演算子(文字連結演算子:& 演算子 + 演算子)
文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …
-
-
出力位置、書き込み位置を設定(Tab 関数)
出力位置、書き込み位置を設定 Tab 関数 は、Print メソッド、または P …
-
-
画面の更新を停止(ScreenUpdating プロパティ)
画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …
-
-
日付時刻:日付から曜日を取得( Weekday 関数、WeekdayName 関数 )
Weekday 関数(日付から曜日を表す数値を返す)の使い方 【書式】 week …
-
-
ユーザー定義関数:セルを取得する(ThisCell プロパティ)
入力されたセルを取得する ワークシート上で使用する Function プロシージ …
-
-
連想配列(Dictionary オブジェクト)
連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …
- PREV
- Array 関数(バリアント型の配列を作成)
- NEXT
- Option Compare ステートメント


