このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】Join関数の使い方(改行コード/二次元配列)

VBAのJoin関数は、指定された区切り文字を使って、配列の要素を1つの文字列に結合するために使用されます。

Join関数の構文は次のようになります。

Join(配列, 区切り文字)
  • 配列: 結合する要素を持つ配列です。
  • 区切り文字: 配列の各要素を区切るために使用される文字列です。

例えば、(“a", “b", “c")という配列をa+b+cといった文字列へ変更することができます。

詳しい使い方をサンプルコードを交えて説明するのでご覧ください。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

Join関数の使い方

Join関数を使って、配列の要素を連結する例を3つほどお見せします。

文字列、数値による結合。それと、区切り文字に改行を使用する例です。

Join関数の使い方(文字列)

Sub Sample1()
    Dim arr() As Variant
    Dim result As String
    
    ' 配列の要素を設定
    arr = Array("apple", "banana", "orange")
    
    ' 区切り文字を設定してJoin関数を使用
    result = Join(arr, ", ")
    
    ' 結果を表示
    MsgBox result 'apple, banana, orange
End Sub

サンプルコードでは、arrという配列の要素をカンマと空白で区切って連結しています。

結果として、"apple, banana, orange"という文字列が得られます。

Join関数の使い方(数値)

Join関数を使用して、数値の配列の要素を連結する例を以下に示します。

Sub Sample2()
    Dim arr() As Variant
    Dim result As String
    
    ' 配列の要素を設定
    arr = Array(1, 2, 3)
    
    ' 区切り文字を設定してJoin関数を使用
    result = Join(arr, "-")
    
    ' 結果を表示
    MsgBox result '1-2-3
End Sub

上記の例では、arrという配列の要素をハイフンで区切って連結しています。結果として、"1-2-3″という文字列が得られます。

Join関数の使い方(区切り文字に改行)

Sub Sample3()
    Dim arr() As Variant
    Dim result As String
    
    ' 配列の要素を設定
    arr = Array("apple", "banana", "orange")
    
    ' 区切り文字に改行コード(vbLf)を指定
    result = Join(arr, vbLf)
    
    ' 結果を表示
    MsgBox result '改行されて表示される
End Sub

サンプルコードでは、arrという配列の要素を改行コード(vbLf)で区切って連結しています。

結果として、"apple, banana, orange"という文字列が改行された状態で表示されます。

これらの例を参考にして、Join関数を使って自分のプログラムで要素を連結する方法を試してみてください。

二次元配列を結合する方法

Join関数は一次元配列のみ対応のため、二次元配列を入れるとエラーとなります。

二次元配列を結合したい場合は、下記のようにFor Eachを使用して結合します。

Sub Join2DArr()
    '二次元配列を文字列に変換
    
    Dim arr(0 To 2, 0 To 2) As String
    
    ' 二次元配列に値を代入
    arr(0, 0) = "Apple"
    arr(1, 0) = "Banana"
    arr(2, 0) = "Cherry"
    arr(0, 1) = "Dog"
    arr(1, 1) = "Elephant"
    arr(2, 1) = "Fish"
    arr(0, 2) = "Red"
    arr(1, 2) = "Green"
    arr(2, 2) = "Blue"
    
    ' 二次元配列の中身を文字列として連結
    Dim one As Variant, result As String
    For Each one In arr
        result = result & one & " "
    Next one
    
    ' 結果の表示
    MsgBox result
End Sub

使う際には、結合の順番に気を付けてください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/07/27 02:59:03時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい