VBAのSplitメソッドで文字列を分割して配列にするサンプルです。
目次
| 説明 | Splitメソッド | 
| サンプル | カンマで区切る / 半角スペースで区切る / タブで区切る | 
| 末尾が区切り文字の時、最後は要素になる? | 
Splitメソッド
- 文字列が2つめの引数の値にマッチすると、そこで文字列を区切ります。
 - 戻り値はStringの配列です。
 - 以下はMicrosoftのSplit関数のリンクです。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/split-function 
カンマで区切る
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行目は、末尾がカンマで終わっていますが、空文字も要素として取得します。
関連の記事
