Excel 2013 マクロ講座 67回

文字列を結合する

セル範囲の文字列を結合するのは、CONCATENATE関数でもできますが、今回はマクロで行います。
範囲がA1セルからA5セルというように固定している場合は、For Each~Nextを使って次のようなコードでできます。

(サンプルファイルは、こちらから マクロ67回サンプルデータ

文字列をFor Each~Nextステートメントで結合

範囲A1:A5セルに入力された文字列をB1セルに結合して表示します。
文字列を結合するマクロ1
変数として結合文字と範囲を宣言します。
結合文字は最初は、""カラです。
For Each~Nextステートメントで、範囲に入力された文字を結合文字に足していきます。
文字列を結合するマクロ2
Sub 文字結合1()
    Dim 結合文字 As String
    Dim 範囲 As Range
    結合文字 = ""
    For Each 範囲 In Range("A1:A5")
        結合文字 = 結合文字 & 範囲.Text
    Next 範囲
    Range("B1").Value = 結合文字
End Sub
    
マクロを実行すると、指定範囲の文字が結合されます。 文字列を結合するマクロ3
これじゃあ、区切りが無くてまったくダメという場合は、間に区切り文字を入れます。
Sub 文字結合2()
    Dim 結合文字 As String
    Dim 範囲 As Range
    結合文字 = ""
    For Each 範囲 In Range("A1:A5")
        結合文字 = 結合文字 & 範囲.Text & ","
    Next 範囲
    Range("B2").Value = 結合文字
End Sub
    
すると、文字列の間に ","カンマが入ります。
文字列を結合するマクロ4
半角スペースを入れたい場合は" "とします。
文字列を結合するマクロ5
CONCATENATE 関数で結合したい場合は
スポンサーリンク
スポンサーリンク
おすすめコンテンツ