VBA で文字列を結合する場合は、& 演算子または + 演算子を使用します。ここでは、文字列を結合する方法について説明します。
& 演算子 の使い方
& 演算子を使うことで文字列を結合することができます。また、文字列の変数やセル内の文字列も結合することも可能です。
複数の文字列を結合する
1 2 3 |
Dim str As String str = "東京都" & "中央区" MsgBox str |
このプログラムを実行すると2つの文字列が結合され、「東京都中央区」が表示されます。
連続して & 演算子を使えばいくつでも結合することが可能です。
1 2 3 |
Dim str As String str = "東京都" & "中央区" & "銀座" MsgBox str |
このプログラムを実行すると3つの文字列が結合され、「東京都中央区銀座」が表示されます。
改行文字列を結合する:vbCrLf
vbCrLf は改行を表す定数で、文字列と結合することで改行を入れることができます。
1 2 3 |
Dim str As String str = "東京都" & vbCrLf & "中央区" & vbCrLf & "銀座" MsgBox str |
上のプログラムでは間に2つ改行が挿入されて表示されます。
+ 演算子の使い方
数値同士の加算に使う + 演算子も、& 演算子と同様、2つの文字列を結合できます。
1 2 3 |
Dim str As String str = "東京都" + "中央区" MsgBox str |
このプログラムを実行すると2つの文字列が結合され、「東京都中央区」が表示されます。
& 演算子と + 演算子の違いと注意点
& 演算子と + 演算子では、2値のデータ型によって演算内容が異なります。
値1 | 値2 | & 演算子 | + 演算子 |
文字列 | 文字列 | "A" & "B" → "AB" | "A" + "B" → "AB" |
数値文字列 | 文字列 | "1" & "B" → "1B" | "1" + "B" → "1B" |
数値 | 文字列 | 1 & "B" → "1B" | 1 + "B" → エラー |
数値文字列 | 数値文字列 | "1" & "2" → "12" | "1" + "2" → "12" |
数値 | 数値 | 1 & 2 → "12" | 1 + 2 → 3 |
「数値文文字列」とは、"1" や "10.33" など、数字のみで構成される文字列を指します。
& 演算子では必ず文字列が結合されるのに対し、+ 演算子を使うと型によっては結合ではなく加算が実行されます。プログラミング時のミスをなくすためにも、特別な理由がない限り、文字列の連結には & 演算子を使った方がいいでしょう。