VBA Join 関数:配列を区切り文字で結合する

はじめに

Excel VBA マクロの Join 関数から配列を区切り文字で結合する方法を紹介します。

Join 関数は、配列を区切り文字で結合した文字列に変換します。

A B C の配列なら A,B,C のようにカンマ区切りで結合できます。

配列をカンマ区切りなどの文字列に結合したいときに使用します。

カンマ区切りの文字列を配列にするには「Split 関数」を使用します。
文字列を結合するには「文字列を結合する」をご覧ください。
  • 目次
    • Join 関数
    • 解説
    • 使用例

Join 関数

Join(文字列型配列)
文字列型配列の要素を半角スペースで結合した文字列に変換します。

Join(文字列型配列, 区切り文字)
要素を区切り文字で結合した文字列に変換します。

引数「文字列型配列」文字列型配列 (String) を指定します。
引数「区切り文字」省略できます。配列の要素を区切る文字を指定します。
戻り値の型文字列型 (String)

解説

引数「文字列型配列」には String 型の配列を指定します。

引数「文字列型配列」が String 型以外の配列なら、各要素を String 型に変換してから結合します。

引数「文字列型配列」には一次元配列を指定できます。二次元配列などを指定すると「エラー 5 プロシージャの呼び出し、または引数が不正です。」が発生します。

引数「区切り文字」を省略したときは、半角スペース " " で区切って結合します。

引数「区切り文字」が空文字 "" なら、すべての要素が区切り文字なしで結合します。

引数「区切り文字」が , なら、カンマ区切りの文字列に結合します。

カンマ区切りなどの文字列を配列に変換するには「Split 関数」を使用します。

使用例

配列を区切り文字で結合する。

Dim s As String
s = Join(Array("A", "B", "C")) ' 省略したときは半角スペース
Debug.Print(s) ' A B C

s = Join(Array("A", "B", "C"), "")
Debug.Print(s) ' ABC

s = Join(Array("A", "B", "C"), ",") ' カンマ区切り
Debug.Print(s) ' A,B,C

s = Join(Array(1, True, 3)) ' String 型以外の配列
Debug.Print(s) ' 1 True 3

Dim 配列(2) As String
配列(0) = "ああ"
配列(1) = "いい"
配列(2) = "うう"

s = Join(配列, "-")
Debug.Print(s) ' ああ-いい-うう

カンマ区切りを配列に変換

Split 関数」を使用して、カンマ区切りの文字列を配列に変換できます。

Dim list() As String

list = Split("A,B,C", ",")
Debug.Print(list(0)) ' A
Debug.Print(list(1)) ' B
Debug.Print(list(2)) ' C