1. 文字列演算子とは?
VBAでは、文字列を結合するために “&
” と “+
” の2つの演算子が使用できます。ただし、これらの演算子には動作の違いがあります。
2. & 演算子(文字列の結合)
&
演算子は、確実に文字列を結合するために使用されます。
使用例:
Sub TestConcatenation()
Dim str1 As String, str2 As String, result As String
str1 = "Hello"
str2 = " World"
result = str1 & str2
MsgBox result 'Hello World
End Sub
3. + 演算子(数値と文字列の混在に注意)
+
演算子も文字列の結合に使用できますが、数値が含まれると加算として扱われる可能性があります。
使用例(文字列同士の場合):
Sub TestPlusOperator()
Dim str1 As String, str2 As String, result As String
str1 = "Hello"
str2 = " World"
result = str1 + str2
MsgBox result 'Hello World
End Sub
数値が含まれる場合の挙動:
Sub TestPlusWithNumbers()
Dim str1 As String, num As Integer, result As String
str1 = "Total: "
num = 10
result = str1 + num 'エラーの可能性
MsgBox result
End Sub
上記のコードでは、num
が数値のため、VBAは +
を加算として扱おうとします。エラーを防ぐために CStr(num)
を使って明示的に文字列に変換するのが安全です。
result = str1 & CStr(num) '正しい方法
4. & と + の使い分け
演算子 | 動作 | 使用推奨 |
---|---|---|
& | 文字列を確実に結合する | 常に安全に結合したい場合 |
+ | 文字列結合または数値加算 | 計算結果を意図的に利用する場合 |
基本的には、文字列結合には &
を使用するのが推奨されます。+
を使うと型によって意図しない動作をする可能性があるため、注意が必要です。
コメント