質問者
「コンパイルエラー:メソッドまたはデータメンバーが見つかりません」のエラー

質問
-
こんにちは。
VBAツールでエラーが発生し、原因が不明なため、質問させてください。
初心者のため分かりづらい表現などありましたらご容赦ください。
Excel2003で作成したツールで、Excel上でAccessのmdbを参照しデータを編集、閲覧できるツールです。
Windows XP & Excel2003、Window 7 & Excel2007 での動作確認は問題なくできたのですが、Windows 7 & Excel2003 の場合、データを呼び出して表示する処理で、
「コンパイルエラー:メソッドまたはデータメンバーが見つかりません」というエラーが発生しました。
http://support.microsoft.com/kb/2297924/ja
↑の情報を得て、回避策を試してみたのですが改善しません。
デバッグを行うと、mdbから取得したレコードセットのフィールド名をExcelのA列から検索する処理の中で、「TempField.Name」の.Nameの部分でエラーとなっているようでした。
==
With myRs
For Each TempField In .Fields
Set srcRange = Worksheets("param").Range("A:A")
Set fndRange = srcRange.Find(What:=TempField.Name, lookat:=xlWhole)
If fndRange Is Nothing Then
Cells(4, i).Value = TempField.Name
i = i + 1
End IfNext
End With==
ただ、同様の処理を他のファンクションでも行っているのですが、そちらは無事動作しています。(.Nameプロパティも使用しています。)
解決案などありましたらご教授いただけますと幸いです。
何卒よろしくお願いいたします。
すべての返信
-
ご返信ありがとうございます!
エラーメッセージが表示され、デバッグを行った際に、
上記のコードを含んだファンクション名の行(先頭行)が黄色く表示され、
「TempField.Name」の.Name の部分が選択された状態で止まっていたため、
Name部分でエラーが発生していると判断しました。
該当のファンクションの処理が走る前にエラーが発生しているようなので、エラー部分でブレイクすることができなさそうです。。
「TempField」のうしろに「.」を入力すると、入力補助のようなポップアップが表示されるかと思うのですが、
正常に作動するPCでは「Name」などその他10件程の候補が表示されますが、
エラーが発生しているPCでは「Name」が表示されず、その他の候補も3件ほどしか表示されません。
お手数をおかけいたしますが、引き続きよろしくお願いいたします。