【Excel VBA】文字列を分割する(Split)の基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

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 は、文字列を“やさしく整える”ための静かな相棒です。


decopon
decopon

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

moco
moco

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

コメント

タイトルとURLをコピーしました