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 |
実行結果
関連記事
-
-
オブジェクトの書式をクリアする(ClearFormats メソッド)
ClearFormats メソッド 対象となるオブジェクトの書式(スタイル)を初 …
-
-
インプットボックスを表示する(InputBox関数・InputBoxメソッド)
「InputBox関数」と「InputBoxメソッド」の違い 「InputBox …
-
-
日付時刻:現在の日付・時刻を取得・設定(Now、Date、Time)
現在の日付・時刻を取得・設定 現在の日付・時刻を取得(Now 関数、Date 関 …
-
-
変数が日付型かどうかをチェックする( IsDate 関数 )
IsDate 関数の使い方 【書式】 result = IsDate( expr …
-
-
日付時刻:年・月・日を取得(Year、Month、Day 関数)
日付から年・月・日を取得する関数 【書式】 date_year = Year ( …
-
-
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)
Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …
-
-
引数が省略されたかどうかをチェックする( IsMissing 関数 )
IsMissing 関数の使い方 【書式】 result = IsMissing …
-
-
対象のオブジェクトをクリアする(Clear メソッド)
Clear メソッド 対象となるオブジェクト全体をクリアします。Range オブ …
-
-
色の設定(Color プロパティ・RGB 関数)
Color プロパティ Color プロパティは、指定したオブジェクトの色を取得 …
-
-
列挙型変数(Enum ステートメント)
列挙型変数を使う 列挙型変数を使用するには、Enum ステートメントを使って、宣 …
- PREV
- Array 関数(バリアント型の配列を作成)
- NEXT
- Option Compare ステートメント


