Excel VBAのSplit関数の使い方メモ


セルの値の状態

以下のように全角スペースで、姓と名前が区切られている場合に
姓と名前を別々で変数に格納していきます。
変数に格納した後、B1セルに姓、C1セルに名前を入力します。

コード

Option Explicit

Private Sub splitExample()
    Dim lastName As String, firstName As String
    Dim var As Variant

    var = split(Range("A1").Value, " ")
    lastName = var(0)
    firstName = var(1)

    Range("B1").Value = lastName
    Range("C1").Value = firstName

End Sub

マクロ実行結果

B1セルに姓、C1セルに名前が入力されました。

半角スペースと全角スペースの両方に対応させる

条件分岐で半角のときと全角のときで、区切り記号を変えるようにしました。
区切り記号がない場合は、何も出力しません。

Option Explicit

Sub splitExample()
    Dim lastName As String, firstName As String
    Dim var As Variant

    If InStr(Range("A1").Value, " ") > 0 Then
        var = split(Range("A1").Value, " ")
        lastName = var(0)
        firstName = var(1)
    ElseIf InStr(Range("A1").Value, " ") > 0 Then
        var = split(Range("A1").Value, " ")
        lastName = var(0)
        firstName = var(1)
    Else
    End If
        Range("B1").Value = lastName
        Range("C1").Value = firstName
End Sub

マクロ実行結果

全角スペースの場合

半角スペースの場合

区切り文字なしの場合