Excel VBAで文字列を結合する:&, +

VBA で文字列を結合する場合は、& 演算子または + 演算子を使用します。ここでは、文字列を結合する方法について説明します。

& 演算子 の使い方

&  演算子を使うことで文字列を結合することができます。また、文字列の変数やセル内の文字列も結合することも可能です。

複数の文字列を結合する

Dim str As String
str = "東京都" & "中央区"
MsgBox str

このプログラムを実行すると2つの文字列が結合され、「東京都中央区」が表示されます。

vba_plus1

連続して & 演算子を使えばいくつでも結合することが可能です。

Dim str As String
str = "東京都" & "中央区" & "銀座" 
MsgBox str

このプログラムを実行すると3つの文字列が結合され、「東京都中央区銀座」が表示されます。

vba_plus2

改行文字列を結合する:vbCrLf

vbCrLf は改行を表す定数で、文字列と結合することで改行を入れることができます。

Dim str As String
str = "東京都" & vbCrLf & "中央区" & vbCrLf & "銀座" 
MsgBox str

上のプログラムでは間に2つ改行が挿入されて表示されます。

vba_plus3

+ 演算子の使い方

数値同士の加算に使う + 演算子も、& 演算子と同様、2つの文字列を結合できます。

Dim str As String
str = "東京都" + "中央区"
MsgBox str

このプログラムを実行すると2つの文字列が結合され、「東京都中央区」が表示されます。

vba_plus1

& 演算子と + 演算子の違いと注意点

& 演算子と + 演算子では、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" など、数字のみで構成される文字列を指します。

& 演算子では必ず文字列が結合されるのに対し、+ 演算子を使うと型によっては結合ではなく加算が実行されます。プログラミング時のミスをなくすためにも、特別な理由がない限り、文字列の連結には & 演算子を使った方がいいでしょう。


イベント