VBAのSplit関数では指定した文字で文字列を分割することができます。
それでは、具体的な手順について確認してみましょう。

構文

Split(文字列, 区切り文字※)

※区切り文字とは、Split関数で文字列を分割する区切りとなる文字のことです。
Split関数の2番目の引数で区切り文字を任意で設定することができます。

Split関数で文字列を分割

<コード>

Dim Result As Variant   'Split関数で分割した値を格納'
    Result = Split(Range("A1"), "/")    '/を区切り文字として文字列を分割'
    '分割した文字列を表示'
    MsgBox Result(0) & vbCrLf & _
           Result(1) & vbCrLf & _
           Result(2)

<実行例>

ところで、Split関数は分割された文字列を配列として返します。
というわけで返された配列は複数のデータを受けることができる型の変数へ格納する必要があります。
そしてバリアント型の変数は様々な型の値を格納することができますが、実は配列も格納することができます。
この場合バリアント型の変数を配列として定義するのではなく、
1つのバリアント型の変数に対して配列を格納している点に注意しましょう。
<コード:上の例の1行目と比較>

Dim Result() As Variant

‘このようにバリアント型を配列として定義することもできますが、’
‘バリアント型の変数1つに配列を格納することもできます。’
なお、String型の配列へ配列を格納することももちろん可能です。
<コード>

Dim Result() As String  'String型の配列へ分割した値を格納'
    Result = Split(Range("A1"), "/")    '/を区切り文字として文字列を分割'
    '分割した文字列を表示'
    MsgBox Result(0) & vbCrLf & _
           Result(1) & vbCrLf & _
           Result(2)

Split関数で分割された値の数が不明な場合

上のような例では年・月・日の3つの要素が格納されていると
あらかじめ予想することができますが、分割された結果が何個の要素数となるか
不明の場合もあります。そういう場合はUBound関数やLBound関数を活用しましょう。
<コード>

Dim Result As Variant   'Split関数で分割した値を格納'
    Dim i As Integer    '要素数を格納'
    Dim str_Msg As String   'メッセージ表示用の文字列を格納'
    Result = Split(Range("A1"), ",")    ',を区切り文字として文字列を分割'
    'ループ処理とLBound関数・UBound関数で分割した文字を取得'
    For i = LBound(Result) To UBound(Result)
        str_Msg = str_Msg & Result(i) & vbCrLf
    Next i
    '分割した文字列を表示'
    MsgBox str_Msg

<実行例>

Split関数の活用例

Split関数は区切り文字のあるデータの操作に非常に役立ちます。
例えば、ファイルのパスは\で区切られているのでSplit関数により
各フォルダとファイル名に分割することが可能です。
<コード>

Dim Result As Variant   'Split関数で分割した値を格納'
Dim myMsg As String '分割した値を使用して文字列を作成'
Dim i As Integer    '配列の要素数を取得
    Result = Split(Range("A1"), "\")    '\を区切り文字として文字列を分割'
    '文字列を作成'
    For i = LBound(Result) To UBound(Result)
        If i = LBound(Result) Then  'カレントドライブを取得'
            myMsg = "カレントドライブ:" & Result(i) & vbCrLf
        ElseIf i = UBound(Result) Then  'ファイル名を取得'
            myMsg = myMsg & "ファイル名:" & Result(i)
        Else    'フォルダを取得'
            myMsg = myMsg & "フォルダ:" & Result(i) & vbCrLf
        End If
    Next i
    MsgBox myMsg    '作成した文字列を表示'

<実行例>

まとめ

Split関数を使用すると文字列を区切り文字で分割することができます。
区切り文字が明確なファイル(CSVファイル:カンマ区切りのデータ)等の処理と
非常に相性の良い関数なのでぜひ試してみてください。
【おすすめ記事】
習得必須!VBAを教われるスクールBEST5
VBAの本・参考書の評判
業務効率をアップする!コピペで動くVBA5選
【VBA入門】Msgboxでメッセージボックスを活用する方法