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 |
実行結果
関連記事
-
-
VBA の演算子(文字連結演算子:& 演算子 + 演算子)
文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …
-
-
配列の要素数を取得する(UBound 関数・LBound 関数)
UBound 関数・LBound 関数 【書式】 result = UBound …
-
-
セルのデータを区切り文字で複数のセルに分割する(TextToColumns メソッド)
TextToColumns メソッド TextToColumns メソッドを使用 …
-
-
日付時刻:日付・時刻の間隔を取得( DateDiff 関数 )
DateDiff 関数の使い方 【書式】 result = DateDiff ( …
-
-
フォントの設定(Font プロパティ)
フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …
-
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
-
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)
固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …
-
-
指定した値を8進数で表記した文字列に変換する(Oct 関数)
Oct 関数 の使い方 【書式】 result = Oct ( expressi …
-
-
変数が日付型かどうかをチェックする( IsDate 関数 )
IsDate 関数の使い方 【書式】 result = IsDate( expr …
-
-
取り消し線を設定する(Strikethrough プロパティ)
取り消し線を設定する(Strikethrough プロパティ) Striketh …
- PREV
- Array 関数(バリアント型の配列を作成)
- NEXT
- Option Compare ステートメント