VBA関数Split関数
Split関数で文字列を分割して配列にする ~VBA関数
VBA関数 106回
Split関数は分割関数
Split関数は区切られた文字列を分割して配列に変換する関数です。
Split(文字列)のように、引数に文字列だけを指定した場合は、半角スペースで区切られた文字列を分割して配列に変換します。
Split関数構文
Split(expression, [ delimiter, [ limit, [ compare ]]])
引数expressionは、対象となる文字列式を指定します。
引数delimiterは、識別するために使用する文字列を指定します。省略可能。
引数limitは、 返される文字列の数(最大数)、省略可能。
引数compareは、 大文字と小文字を区別して検索するかを指定。省略可能。
引数compareの定数、
vbBinaryCompare (既定)「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別
vbTextCompare 区別しない。
Split関数の使用例
1. 文字列をスペースで分割しましょう。スペースの場合は、Split関数の引数を省略できます。
下記コードの list = Split(strfull, " ")を list = Split(strfull)と書いても結果は同じです。
Public Sub vbfunc_106() Dim list() As String, strfull As String, i As Long strfull = "rock a bye baby in the treetop" list = Split(strfull, " ") For i = LBound(list) To UBound(list) Debug.Print (i & "=" & list(i)) Next i End Sub
2. 文字列の区切りが”-”の場合は、引数delimiterの指定を "-" としてやります。 list = Split(strfull, "-")
Public Sub vbfunc_106() Dim list() As String, strfull As String, i As Long strfull = "When-the-wind-blows,-the-cradle-will-rock" list = Split(strfull, "-") For i = LBound(list) To UBound(list) Debug.Print (i & "=" & list(i)) Next i End Sub
Split関数を使う時の注意点
3.上記サンプルでは、戻り値を受け取る変数を、
String型の動的配列にしています。
Dim list() As String
もしくは、
Variant 型にします。
Dim list() As Variant と動的配列
にするとエラーとなります。注意してください・