第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)
あるセルの文字と、あるセルの文字をくっつけて、別のセルに表示する、
よくある事例であり、頻繁に行われることです。
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
これは、ワークシートの関数と同じです。
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"と入ります。
+演算子について
ただし、連結対象の片方が数値型の場合は加算が行われます。
このような曖昧さを残さないためにも、文字列連結は&を使用してください。
VBAの演算子まとめ(演算子の優先順位)
継続行
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 ・・・新着記事一覧を見る
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)
2段階の入力規則リスト作成:最新関数対応|エクセル関数応用(2025-12-24)
IFS関数をVBAで入力するとスピルに関係なく「@」が付く現象について|VBA技術解説(2025-12-23)
数値を記号の積み上げでグラフ化する(■は10、□は1)|エクセル練習問題(2025-12-09)
AI時代におけるVBAシステム開発に関する提言|生成AI活用研究(2025-12-08)
GrokでVBAを作成:条件付書式を退避回復するVBA|エクセル雑感(2025-12-06)
顧客ごとの時系列データから直前の履歴を取得する|エクセル雑感(2025-11-28)
ちょっと悩むVBA厳選問題|エクセル雑感(2025-11-28)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.
