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

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

はじめに

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 は、バラバラの情報を“やさしくまとめる”ための静かな相棒です。


decopon
decopon

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

moco
moco

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

コメント

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