「excel vba join 改行」
という検索で、このサイト『インストラクターのネタ帳』へアクセスがありました。
VBAのJoin関数を使って、配列に格納されているデータを結合するときに、データとデータの間に改行を入れるにはどうすればいいのかを探している方による検索でしょう。
Join関数を使ったサンプルマクロ
まずはJoin関数の基本を確認しましょう。
Join関数とは、配列の要素に格納されているデータを結合した文字列を返す関数です。
一つ目の引数には結合したいデータを含んだ1次元配列を、二つ目の引数にはデータを結合するときにデータ間に入れたい区切り文字列を指定します。
Dim arr(1 To 3) As String
arr(1) = "東京"
arr(2) = "大阪"
arr(3) = "名古屋"
MsgBox Join(arr, ";")
End Sub上記のマクロを実行すると、
「東京;大阪;名古屋」
というメッセージボックスが表示されます。
上記のマクロの、
MsgBox Join(arr, ";")
を、
MsgBox Join(arr, "-")
とした場合には「-」を使って配列データの連結が行われ
「東京-大阪-名古屋」
とメッセージが表示されます。
Join関数で第2引数を省略した場合
二つ目の引数が省略された場合には、区切り文字に半角スペースが使われます。
ですから、上記のマクロの、
MsgBox Join(arr, ";")
を、
MsgBox Join(arr)
とした場合には、
「東京 大阪 名古屋」
とメッセージボックスに表示されます。
Join関数で区切り文字に改行を入れるサンプルマクロ
で、
MsgBox Join(arr, vbCrLf)
としてやれば、区切り文字に改行コードが使われ、以下のようなメッセージボックスが表示されます。
VBAでキャリッジリターンを表す定数vbCrLfを、
Join関数の第2引数に指定することで、改行を区切り文字にできます。
最終更新日時:2019-04-30 15:07
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » VBAのJoin関数で改行を区切り文字に