目次
の作業中に直面する最も一般的なエラーの1つです。 ブイビーエー 今回は、このエラーが発生する理由と解決方法をご紹介します。
練習用ワークブックをダウンロードする
この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。
ユーザー定義型 Not Defined.xlsm2 原因と解決策 Excel VBAでユーザー定義型が定義されない
があります。 2 Excelで頻繁に発生するこのエラーの背後にある主要な問題 ブイビーエー ここでは、その解決策を探ってみましょう。
1.変数宣言時のスペルミス
このエラーの主な原因は、以下の通りです。 ほとんどの場合、このエラーは "ユーザー定義型未定義" は、変数宣言時のスペルミスが原因です。
次のコードの行を見てください。
Sub User_Defined_Type_not_Defined() Dim Name As Strng Name = "ExcelWIKI" MsgBox Name End Sub
このコードを実行すると、エラーの存在を通知するエラーボックスが表示されます。 "ユーザー定義型未定義 "とする。 それとともに、青くハイライトされたコードの2行目には、次のように書いています。 "ストロング" かわりに "文字列" .
ポイントを押さえてほしい。 ブイビーエー は変数の型を認識できませんでした。 "ストロング" しかし、どこにも宣言されていないことがわかると、エラーになります。
そのため、シンプルな動作でありながら ブイビーエー このエラーが発生した場合は、まず変数タイプのスペルをすべて確認してください。
2.適切なリファレンスの欠如
このエラーのもう一つの原因は、適切な参照が行われていないことです。 コード内でいくつかのオブジェクトを使用することがありますが、そのオブジェクトは Visual Basic リファレンスボックス ...その他 ブイビーエー はオブジェクトを認識しません。
以下をご覧ください。 ブイビーエー のコードになります。
Sub User_Defined_Type_not_Defined() Dim MyDictionary As Dictionary Set MyDictionary = CreateObject("Scripting.Dictionary") End Sub
このコードを実行すると、同じ古いエラーが表示されます。 "ユーザー定義型未定義"。 を強調する。 辞書オブジェクト というのも ブイビーエー を認識することができませんでした。 辞書オブジェクト というように、間違って定義されていないユーザー定義変数と見なしました。
さて、このエラーをどう解決するかが最大の問題です。 簡単です。 2 このエラーを解決する方法
⧪ 解決策1:ビジュアルボックスのリファレンスボックスから前提条件のリファレンスを確認する
この問題を解決する最もスマートな方法は、次のとおりです。 ツール> リファレンス ボタンをクリックします。 ビジュアルベーシック リボン をクリックします。 参考文献 .
というダイアログボックスが表示されます。 参考文献 が開きますので、スクロールして見つけてください。 マイクロソフトスクリプティングランタイム (これは使用するオブジェクトに依存します。 辞書オブジェクト ニーズ マイクロソフトスクリプティングランタイム でオブジェクトを使用すると、認識されるようになります。 ブイビーエー のコードで認識されるためには、その前提条件を知っておく必要があります。 VBAです。 詳しくはこのリンク先をご覧ください)。 確認してください。
エラーは出ないはずです。 ブイビーエー を認識することができます。 辞書オブジェクト 今度こそ
⧪ 解決策2:特定のオブジェクトとしてではなく、純粋なオブジェクトとして宣言する。
この問題を解決するには、もう一つの方法があります。 辞書オブジェクト .
以下のコード行に注目してください。
Sub User_Defined_Type_not_Defined() Dim MyDictionary As Object Set MyDictionary = CreateObject("Scripting.Dictionary") End Sub
ここでは、変数を宣言しています。 マイディクショナリー を単なるオブジェクトとしてではなく 辞書 これで、このコードを実行しても、エラーは出ません。