型が一致しません (エラー 13)
Visual Basic では、多くの値を変換したり強制的に指定したりすることにより、以前のバージョンでは不可能だったデータ型の代入が実現されています。
それでも、このエラーが発生する場合があります。このエラーの原因と解決策を以下に示します。
解決策: 代入は、互換性のあるデータ型の間で行うようにします。 たとえば、Integer は常に Long に代入でき、Single は常に Double に代入できます。Variant には、常に任意の型 (ユーザー定義型を除く) を代入できます。
- 原因: 1 つのプロパティまたは値が必要なプロシージャにオブジェクトが渡された。
解決策: 適切なプロパティを 1 つ渡すか、そのオブジェクトに適したメソッドを呼び出します。
解決策: 表示できる式を指定します。
原因: 従来のエラー処理を、Error サブタイプ (10、vbError) を持つ Variant 値と組み合わせて使用しようとした。以下に例を示します。
Error CVErr(n)
解決策: エラーを再生成するには、Visual Basic の組み込みエラーまたはユーザー定義エラーにマップして、そのエラーを生成する必要があります。
原因:CVErr 値は Date に変換できない。 以下に例を示します。
MyVar = CDate(CVErr(9))
解決策:Select Case ステートメントなどのコンストラクトを使用して、CVErr の戻り値を目的の値にマップします。
- 原因: このエラーが 実行時 に発生する場合は、通常、式で使用されている Variant のサブタイプが正しくないか、配列 を含む Variant が Print # ステートメントで使用されています。
解決策: 配列を表示するには、各要素を個別に表示するループを作成します。
詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。
注:
複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか? 新しい Office アドイン モデルを参照してください。 Office アドインは、VSTO アドインやソリューションに比べてフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべてのWeb プログラミング テクノロジーを使用して構築できます。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。