【VBA】Join関数の使い方(改行コード/二次元配列)
VBAのJoin関数は、指定された区切り文字を使って、配列の要素を1つの文字列に結合するために使用されます。
Join関数の構文は次のようになります。
Join(配列, 区切り文字)
- 配列: 結合する要素を持つ配列です。
- 区切り文字: 配列の各要素を区切るために使用される文字列です。
例えば、(“a", “b", “c")という配列をa+b+cといった文字列へ変更することができます。
詳しい使い方をサンプルコードを交えて説明するのでご覧ください。
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
使う際には、結合の順番に気を付けてください。