はじめに
VBAで作業をしていると、
「カンマ区切りの文字列を分けたい」
「スペースで区切って配列にしたい」
そんな“ちょっとした整えごと”が必要になることがあります。
そこで活躍するのが Split 関数 です。
ここでは、Split の基本の使い方と、
実務で役立つ書き方を解説します。
まずはコードを確認
Dim arr As Variant
arr = Split("A,B,C", ",")
もっともシンプルな書き方です。
arr には {“A”, “B”, “C”} の配列が入ります。
Split の基本
文字列を区切り文字で分割する
Split(文字列, 区切り文字)
区切り文字はカンマ、スペース、ハイフンなど自由に指定できます。
よく使うパターン
カンマで分割する
arr = Split("りんご,みかん,ぶどう", ",")
スペースで分割する
arr = Split("Excel VBA 入門", " ")
ハイフンで分割する
arr = Split("2026-03-31", "-")
分割した値を取り出す
Dim arr As Variant
arr = Split("A,B,C", ",")
MsgBox arr(0) 'A
MsgBox arr(1) 'B
MsgBox arr(2) 'C
配列のインデックスは 0 から始まります。
具体的な例で理解する
セルの値を分割して別セルに入れる
Dim arr As Variant
arr = Split(Range("A1").Value, ",")
Range("B1").Value = arr(0)
Range("C1").Value = arr(1)
Range("D1").Value = arr(2)
CSV形式のようなデータを扱うときに便利です。
氏名を姓と名に分ける
Dim arr As Variant
arr = Split("山田 太郎", " ")
Range("A1").Value = arr(0) '山田
Range("B1").Value = arr(1) '太郎
実務でよく使うパターンです。
区切り文字が複数ある場合
arr = Split("A|B|C", "|")
任意の文字を区切りにできます。
Split の便利な使い方
配列の要素数を調べる
UBound(arr)
ループで取り出す
Dim i As Long
For i = 0 To UBound(arr)
Debug.Print arr(i)
Next i
空白を含む文字列を整える
arr = Split(Trim(" A B C "), " ")
Trim と組み合わせると、余分な空白を除去できます。
注意点(実務で気をつけたいこと)
- Split は配列を返す
→ Variant 型で受け取るのが基本です。
- 区切り文字が見つからないと配列は1要素
→ “ABC” を Split すると {“ABC”} になります。
- 空白が多い文字列は意図しない分割になる
→ Trim や Replace と組み合わせると安心です。
応用:複数の区切り文字を扱う
Dim txt As String
txt = Replace("A,B;C", ";", ",")
arr = Split(txt, ",")
Replace で統一してから Split する方法です。
まとめ
- Split は文字列を区切り文字で分割して配列にする関数
- カンマ、スペース、ハイフンなど自由に指定できる
- 配列は 0 から始まるため、取り出し位置に注意
- Trim や Replace と組み合わせると実務で強い
- 氏名分割、CSV処理、ログ解析など幅広く使える
Split は、文字列を“やさしく整える”ための静かな相棒です。

文字列を分割できると、データの扱いがぐっと楽になります。
Split は、複雑な情報をそっと整理してくれるやさしい関数です。

ひとつの文字列を、ぱっと分けてくれるのって便利だね。
VBAは、こういう小さな整理ごとも得意なんだね。

コメント