VBA Split 文字列を分割して配列にする

VBAのSplitメソッドで文字列を分割して配列にするサンプルです。

目次

説明 Splitメソッド
サンプル カンマで区切る / 半角スペースで区切る / タブで区切る
  末尾が区切り文字の時、最後は要素になる?

Splitメソッド

カンマで区切る

Sub test1()
    Dim arr1 As Variant
    Dim str1 As String
    str1 = "赤, 黄, 青"
    
    arr1 = Split(str1, ",")
    
    For Each c In arr1
        Debug.Print c '赤 黄 青
    Next
End Sub

6行目は、Splitメソッドでカンマ区切りにして配列にしています。

半角スペースで区切る

Sub test1()
    Dim arr1 As Variant
    Dim str1 As String
    str1 = "赤 黄 青"
    
    arr1 = Split(str1, " ")
    
    For Each c In arr1
        Debug.Print c '赤 黄 青
    Next
End Sub

6行目は、半角のスペースを指定して配列にしています。

タブで区切る

Sub test1()
    Dim arr1 As Variant
    Dim str1 As String
    str1 = "赤" & Chr(9) & "黄" & Chr(9) & "青"
    
    arr1 = Split(str1, vbTab)
    
    For Each c In arr1
        Debug.Print c '赤 黄 青
    Next
End Sub

6行目は、定数のvbTabを指定して配列にしています。

末尾が区切り文字の時、最後は要素になる?

Sub test1()
    Dim arr1 As Variant
    Dim str1 As String
    str1 = "a, b, c,,"
    
    arr1 = Split(str1, ",")
    
    For Each c In arr1
        Debug.Print c '「a」「b」「c」「」「」
    Next
    Debug.Print UBound(arr1) + 1 ' 5
End Sub

4行目は、末尾がカンマで終わっていますが、空文字も要素として取得します。

関連の記事

VBA Replace 文字列を置換する
VBA 配列の仕組みと使い方(Excel/Access)

△上に戻る