この記事ではJoin関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。
Join関数の使い方と注意点
Join関数は、配列の要素を指定した区切り文字で連結して1つの文字列として返す関数です。
複数の文字列をつなげたいときに便利で、特に配列を文字列としてまとめたい場合に使います。
構文
Join(配列名 [, 区切り文字])
- 配列名 : 連結したい文字列の配列
- 区切り文字(省略可) : 配列の各要素間に挟む文字列(省略すると半角スペース" ")
- 戻り値 : 区切り文字で連結された1つの文字列
使用例
配列の要素をカンマで連結する(区切り文字指定あり)
Sub Sample()
Dim MyArray As Variant
MyArray = Array("ABC", "あいう", "123")
Dim result As String
result = Join(MyArray, ", ")
Debug.Print result
End Sub
▶ 出力結果
ABC,あいう,123
配列の要素を区切り文字なしで連結する(区切り文字省略時)
Sub Sample()
Dim MyArray As Variant
MyArray = Array("ABC", "あいう", "123")
Dim result As String
result = Join(MyArray)
Debug.Print result
End Sub
▶ 出力結果
ABC あいう 123
省略時は半角スペースで連結されます
空の文字列区切りで連結
Sub Sample()
Dim MyArray As Variant
MyArray = Array("ABC", "あいう", "123")
Dim result As String
result = Join(MyArray, "")
Debug.Print result
End Sub
▶ 出力結果
ABCあいう123
配列の全要素を区切り文字で連結して別変数に格納し利用する
Sub Sample()
Dim MyArray As Variant
MyArray = Array("ABC", "あいう", "123")
Dim joinedString As String
joinedString = Join(MyArray, "|")
Debug.Print "連結結果:" & joinedString
End Sub
▶ 出力結果
連結結果:ABC|あいう|123
⚠️注意
Join関数の引数は文字列の配列である必要がある
数値やVariant型混在配列も使えますが、数値は自動的に文字列に変換されます。
ただし、配列が空(要素数0)や未初期化の場合、空文字列が返ります。
配列が未初期化やEmptyの場合は空文字列が返る
Sub Sample()
Dim MyArray() As String
Debug.Print "[" & Join(MyArray, ", ") & "]" ' 空文字列が返る(実行時エラーは起きない)
End Sub
▶ 出力結果
[]
配列でないと実行時エラー
配列でない変数を渡すと、実行時エラー 13「型が一致しません」が発生します。
Sub Sample()
Dim MyString As String
MyString = "Test"
Debug.Print Join(MyString, ",")
End Sub
配列要素がNullを含むと実行時エラー
配列内にNull値が含まれていると、実行時エラー 94「Nullの使い方が不正です」になります。
Sub Sample()
Dim MyArray As Variant
MyArray = Array("A", Null, "C")
Debug.Print Join(MyArray, ",")
End Sub
関連するVBA関数
- Split関数
- Array関数
- LBound関数・UBound関数
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方

