「メソッドまたはデータ メンバが見つかりません。」の原因・解決方法

エラー内容

VBAコンパイル時に、「メソッドまたはデータ メンバが見つかりません。」と表示される。

原因と解決方法

3つの原因と、その解決方法が考えられます。

原因1. 列挙型やユーザー定義型で、存在しないメンバーを指定

解説

列挙型(Enum)やユーザー定義型(Type)を使用する時、定義されてないメンバーを使用しているためです。

サンプルソースのエラーは、列挙型enmKanokuNoに定義されていないメンバーKokugoを使用しているからです。
列挙型enmKanokuNoのメンバーは、EigoとSansuだけです。

 

解決方法

解決方法は2つあります。

1つ目は、列挙体に存在するメンバーを指定する方法です。

 

2つ目は、列挙体にメンバーを追加する方法です。

 

原因2. 存在しないコントロールを指定している

解説

フォーム上に存在しないコントロールを指定したためです。

「ファームデザイン時にコントロールの追加を忘れた」か、「後から間違って対象のコントロールを削除したなど」の原因が考えられます。

 

「デザインで見てもコントロールある!」という人は、コントロールの名前を確認してみてください。
コーディング後にコントロール名を変更すると、起こりがちなエラーです。

 

解決方法

フォーム上に、プログラムで指定しているコントロールを追加します。

すでにコントロールが存在する時は、コントロールの名前を確認してみてください。

 

原因3. 存在しないメソッドを指定している

解説

他の言語の知識もある人が、うっかりやってしまうエラーの原因です。

言語によって、処理は同じでもメソッド名が違ったり、また存在するメソッドが違うことがあります。

 

解決方法

メソッド名が違う場合は、正しいメソッド名に修正します。

メソッド自体存在しない場合は、対象部分のコードは削除し、オリジナルでコーディングし同機能を実装します。

 

関連記事

VBAエラー原因・解決方法
成果を出す5つのポイント
VBAエラー原因・解決方法
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました