セル範囲の文字列を結合
マクロで文字列を結合する


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すると、文字列の間に ","カンマが入ります。

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

