VBA入門
第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
最終更新日:2020-09-26

第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)


あるセルの文字と、あるセルの文字をくっつけて、別のセルに表示する、
よくある事例であり、頻繁に行われることです。


A1セルに"abc"
B1セルに"123"
この時に、
C1セルに"abc123"を入れるような場合のマクロVBAになります。

シートでは、
C1セルに、
=A1&B1
これでC1に"abc123"と表示されます。
VBAでも同様に&で文字列をつなげることができます。

文字結合&(アンパサンド)



Sub 練習1()
  Cells(1, 3).Value = Cells(1, 1).Value & Cells(1, 2).Value
End Sub
[.Value]は省略可能です。

&(アンパサンド)でつなげます。
これは、ワークシートの関数と同じです。
C1セルに、=A1&B1 これと同じです。

+(プラス)でつなげることもできます。
Cells(1, 3).Value = Cells(1, 1).Value + Cells(1, 2).Value
このように書く事も出来ますが、セルの値が数値同士の場合は足し算になってしまいます。

文字と文字の結合の場合は、&(アンパサンド)を使って下さい。
また、文字リテラルを結合することもできます。

Sub 練習2()
  Cells(1, 3).Value = Cells(1, 1).Value & "xyz"
End Sub


上記では、A1セルの文字の後ろに、"xyz"を結合して、C3セルに入れています。
先の例なら、C3セルには、"abcxyz"と入ります。

継続行

&ではいくつでも結合することができます。



Sub 練習3()
  Cells(1, 6).Value = Cells(1, 1).Value & Cells(1, 2).Value & Cells(1, 3).Value & Cells(1, 4).Value & Cells(1, 5).Value
End Sub


上記では、A1セルからE1セルまでを結合して、F1セルに入れています。
しかし、これでは、少々見づらいです。
VBEの画面を右にはみ出してしまいます。
そこで、見易いように適当に改行を入れる事が出来ます。

Sub 練習3()
  Cells(1, 6).Value = Cells(1, 1).Value & _
            Cells(1, 2).Value & _
            Cells(1, 3).Value & _
            Cells(1, 4).Value & _
            Cells(1, 5).Value
End Sub


空白(半角スペース)に続けて_(アンダーバー)を書くと、次の行に続けて書く事が出来ます。

書いている事は、全く同じですが、
VBEの画面横幅を考えて、見易い位置で改行するようにして下さい。

この継続行を使えるのは、&に限りません。
任意の場所で行を継続させることができます。
ただし、任意の場所と言っても、どこでも良いと言う訳ではありません。
単語の途中で行を変えて継続することはできません。
括弧()やカンマ,や演算子(=+-*/&)で区切られる場所で行を変えて継続させることが出来ます。



同じテーマ「マクロVBA入門」の記事

第38回.セルに計算式を設定(Formula)
第12回.変数宣言のDimとデータ型
第13回.定数宣言のConstと型宣言文字
第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)
第15回.四則演算と注釈(コメント)
第16回.繰り返し処理(For Next)
第17回.繰り返し処理(Do Loop)
第18回.最終行の取得(End,Rows.Count)
第19回.総合練習問題1
第20回.条件分岐(IF)
第21回.条件分岐(ElseIf)


新着記事NEW ・・・新着記事一覧を見る

VBA100本ノック 61本目:「ふりがな」の取得と設定|VBA練習問題(1月6日)
VBA100本ノック 60本目:「株式会社」の表記ゆれ置換|VBA練習問題(1月5日)
VBA100本ノック 59本目:12ヶ月分のシートを四半期で分割|VBA練習問題(1月4日)
Select Caseでの短絡評価(ショートサーキット)の使い方|VBA技術解説(1月3日)
VBA100本ノック 迷宮編:巡回セル問題|VBA練習問題(12月31日)
VBA100本ノック 58本目:番号リストを簡潔にした文字列で返す|VBA練習問題(12月30日)
VBA100本ノック 57本目:ファイルの更新日時|VBA練習問題(12月29日)
VBA100本ノック 56本目:数式内の自身のシート名を消す|VBA練習問題(12月28日)
VBA100本ノック 55本目:他ブックのマクロを起動|VBA練習問題(12月26日)
VBA100本ノック 54本目:シートのChangeイベント|VBA練習問題(12月25日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.繰り返し処理(Do Loop)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ