0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel VBA】Join関数|配列の要素を1つの文字列にまとめる方法と注意点

0
Last updated at Posted at 2025-07-31

この記事では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

▶ 出力結果
error.png

配列要素がNullを含むと実行時エラー

配列内にNull値が含まれていると、実行時エラー 94「Nullの使い方が不正です」になります。

Sub Sample()
    Dim MyArray As Variant
    MyArray = Array("A", Null, "C")
    Debug.Print Join(MyArray, ",") 
End Sub

▶ 出力結果
error_94.png

関連するVBA関数

  • Split関数
  • Array関数
  • LBound関数・UBound関数

その他のVBA関数

【Excel VBA】VBAでよく使う関数一覧&基本の使い方

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?