ここでは、文字列を連結する場合に出力されることがあるエラー 「 型が一致しません 」 がどのようなケースで発生するかをサンプルコードで掲載しています。
スポンサーリンク
実行時エラー ’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':型が一致しません