ここでは、文字列を連結する場合に出力されることがあるエラー 「 型が一致しません 」 がどのようなケースで発生するかをサンプルコードで掲載しています。
スポンサーリンク
実行時エラー ’13’: 型が一致しません
本エラーが発生する場合に出力されるダイアログです。あまりお目にかかりたくはありません。

型が一致しません
文字列の連結と実行時エラー
文字列同士や文字列と数値を & や + で連結するサンプルスクリプトです。どのような場合にエラーとなるかはサンプル内のコメントを参照ください。
Dim str1 As String
Dim str2 As String
Dim strResult As String
str1 = "123"
str2 = "ABC"
' 文字列同士を&で連結する
strResult = str1 & str2
MsgBox (strResult) ' 123ABC
' 文字列同士を+で連結する
strResult = str1 + str2
MsgBox (strResult) ' 123ABC
' 数値を表すことができる文字列と数値を+すると、
' 文字列を数値としてみなし、演算する
strResult = str1 + 123
MsgBox (strResult) ' 246
' 文字列と数値を&で連結すると、文字列として連結される
strResult = str2 & 123
MsgBox (strResult) ' ABC123
' 数値を表すことができるない文字列と数値を文字列として+で連結するには、
' 数値を一度文字列に変換する必要がある
strResult = str2 + CStr("123")
MsgBox (strResult) ' ABC123
' 以下のような連結は型が違うためエラーが発生する
strResult = str2 + 123
MsgBox (strResult) ' 実行時エラー'13':型が一致しません