セル範囲の文字列を結合する Excel 2013 マクロ講座
Excel 2013 マクロ講座 67回
文字列を結合する
セル範囲の文字列を結合するのは、CONCATENATE関数でもできますが、今回はマクロで行います。
範囲がA1セルからA5セルというように固定している場合は、For Each〜Nextを使って次のようなコードでできます。
(サンプルファイルは、こちらから マクロ67回サンプルデータ)
文字列をFor Each〜Nextステートメントで結合
範囲A1:A5セルに入力された文字列をB1セルに結合して表示します。


変数として結合文字と範囲を宣言します。
結合文字は最初は、""カラです。
For Each〜Nextステートメントで、範囲に入力された文字を結合文字に足していきます。

結合文字は最初は、""カラです。
For Each〜Nextステートメントで、範囲に入力された文字を結合文字に足していきます。

Sub 文字結合1()
Dim 結合文字 As String
Dim 範囲 As Range
結合文字 = ""
For Each 範囲 In Range("A1:A5")
結合文字 = 結合文字 & 範囲.Text
Next 範囲
Range("B1").Value = 結合文字
End Sub
マクロを実行すると、指定範囲の文字が結合されます。

これじゃあ、区切りが無くてまったくダメという場合は、間に区切り文字を入れます。

Sub 文字結合2()
Dim 結合文字 As String
Dim 範囲 As Range
結合文字 = ""
For Each 範囲 In Range("A1:A5")
結合文字 = 結合文字 & 範囲.Text & ","
Next 範囲
Range("B2").Value = 結合文字
End Sub
すると、文字列の間に ","カンマが入ります。

半角スペースを入れたい場合は" "とします。


スポンサーリンク
スポンサーリンク
おすすめコンテンツ