HOME > 即効テクニック > Excel VBA > 関数関連のテクニック > 1次元配列の要素を結合した文字列を返す(Join関数)

即効テクニック

関数関連のテクニック

1次元配列の要素を結合した文字列を返す(Join関数)

(Excel 2000)
文字列型の配列に含まれる要素の文字列を、指定した区切り文字で連結させ、1つの文字列として返します。なお、区切り文字の指定を省略した場合には半角スペースが区切り文字となります。


  構文 Join(Sourcearray, Delimiter)

 設定項目      内容
  Sourcearray   文字列型の配列変数を指定 [省略不可]
  Delimiter     要素を結合するときの、要素間の区切り文字の指定。
                省略時には半角スペースが使用される [省略可能]

次のサンプルを見てください。

●サンプル●
Sub JoinSamp1()
    Dim myStr(3) As String
    Dim myMsg(2) As String

    myStr(0) = "○×市立"
    myStr(1) = "△□小学校"
    myStr(2) = "3年"
    myStr(3) = "2組"
    '---(1)省略→半角
    myMsg(0) = "区切り文字省略 : " & Join(myStr)
    '---(2)区切り文字なし
    myMsg(1) = "区切り文字なし : " & Join(myStr, "")
    '---(3)切り文字("−")
    myMsg(2) = "区切り文字あり : " & Join(myStr, "−")
    '---(4)区切り文字改行
    MsgBox Join(myMsg, (vbCr + vbCr))

End Sub

●解説●
配列myStrの各要素を対象に、3種類の区切り文字の指定で連結させた文字列をそれぞれ配列myMsgの要素として代入し((1)〜(3)のステートメント)、さらにその要素をメッセージボックスに出力する際にもJoin関数を使用して、1つの文字列としています。(2)のように長さ0の文字列を指定することで区切り文字を使用しなかったり、あるいは(3)のように特定の区切り文字をつけたり、さらには(4)のように、特定の文字を表す定数やChr関数を用いると、改行コードやタブなども区切り文字として使用することができます。