はじめに
VBAで作業をしていると、
「配列の値をひとつの文字列にまとめたい」
「カンマ区切りの文字列を作りたい」
そんな“ちょっとした整えごと”が必要になることがあります。
そこで活躍するのが Join 関数 です。
ここでは、Join の基本の使い方と、
実務で役立つ書き方を解説します。
まずはコードを確認
Dim arr As Variant
arr = Array("A", "B", "C")
MsgBox Join(arr, ",")
結果は A,B,C。
配列を区切り文字でつないで、ひとつの文字列にします。
Join の基本
配列を区切り文字で結合する
Join(配列, 区切り文字)
区切り文字はカンマ、スペース、ハイフンなど自由に指定できます。
よく使うパターン
カンマで結合する
Join(arr, ",")
スペースで結合する
Join(arr, " ")
ハイフンで結合する
Join(arr, "-")
具体的な例で理解する
Split と Join を組み合わせる
Dim arr As Variant
arr = Split("A,B,C", ",")
MsgBox Join(arr, " / ")
区切り文字を変えたいときに便利です。
セル範囲を配列にして結合する
Dim arr As Variant
arr = Range("A1:A3").Value
MsgBox Join(Application.Transpose(arr), ",")
リストを CSV のようにまとめたいときに使えます。
CSV形式の文字列を作る
Dim items As Variant
items = Array("商品A", 1200, "在庫あり")
Range("A1").Value = Join(items, ",")
ログやファイル出力の準備に便利です。
Join の便利な使い方
空白を入れて読みやすくする
Join(arr, ", ")
改行を入れて複数行にする
Join(arr, vbCrLf)
文字列を整形してから結合する
Dim arr As Variant
arr = Array(Trim(" A "), Trim(" B "), Trim(" C "))
MsgBox Join(arr, ",")
Trim と組み合わせると、余分な空白を除去できます。
注意点(実務で気をつけたいこと)
- Join は配列が必要
→ 文字列を結合したい場合は & を使います。
- 二次元配列はそのまま使えない
→ Transpose で一次元に変換すると扱いやすくなります。
- 空の配列は空文字を返す
→ 必要に応じてチェックすると安心です。
応用:配列が空かどうかを判定してから結合する
If UBound(arr) >= 0 Then
MsgBox Join(arr, ",")
End If
安全に結合できます。
まとめ
- Join は配列を区切り文字で結合してひとつの文字列にする関数
- カンマ、スペース、改行など自由に指定できる
- Split と組み合わせると文字列処理が強くなる
- 二次元配列は Transpose で一次元にすると扱いやすい
- CSV作成、ログ整形、リストの結合など実務で幅広く活躍
Join は、バラバラの情報を“やさしくまとめる”ための静かな相棒です。

Join は、配列をひとつの流れに整えてくれる関数です。
情報をまとめたいとき、そっと寄り添ってくれます。

バラバラの文字が、すっとひとつになるのって気持ちいいね。
VBAは、こういう小さな整えごとも得意なんだなあ。

コメント