第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 ・・・新着記事一覧を見る
シート関数のCOUNTIFS,SUMIFS,MAXIFSと同じ処理|Power Query(M言語)入門(2023-02-28)
新旧マスタの差異比較|Power Query(M言語)入門(2023-02-28)
有効な最新単価の取得|Power Query(M言語)入門(2023-02-26)
有効な最新単価の取得|Power Query(M言語)入門(2023-02-21)
グルーブ内の最小・最大|Power Query(M言語)入門(2023-02-17)
2つのテーブルのマージ|Power Query(M言語)入門(2023-02-15)
「売上」が数値の行のみ取り込む|Power Query(M言語)入門(2023-02-13)
A列のヘッダー名を変更する|Power Query(M言語)入門(2023-02-11)
CSVのA列が日付の行だけを取り込む|Power Query(M言語)入門(2023-02-10)
列数不定のCSVの取り込み|Power Query(M言語)入門(2023-02-09)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.並べ替え(Sort)|VBA入門
8.エクセルVBAでのシート指定方法|VBA技術解説
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。