• ベストアンサー

VBA オートメーションエラー(要素が見つかりません)

というエラーが出ます。コードは以下の通りです。 エラーの意味と文法上、おかしい箇所があればお教えください。 尚、今まで使用していたマクロで、今日初めてエラーが出ました。 「Sheet1」以外のシートからの実行です。Excel2000です。 よろしくお願いします。 Sub リセット1() Sheets("Sheet1").Select Range("A2:D5000,E2:F5000,I2:U5000").Select Range("A2").Activate Selection.ClearContents End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 マクロ自体は、以下のようにすればよいのです。 Sub リセット1R() With Worksheets("Sheet1")  .Range("A2:D5000,E2:F5000,I2:U5000").ClearContents End With End Sub オートメーションエラーの"要素が見つかりません" は、 OLE オートメーション から出てくるものですから、他に、何かツールを使っていますか。 ActiveXコンポーネントが、登録されていないという意味だったと思います。 例えば、Rakuten RSS など。 違うシートモジュールに入れると、 実行時エラー '1004': "アプリケーション定義またはオブジェクトエラーです。" 等が返ります。なお、マクロは、通常、該当するシートモジュールに入れるか、標準モジュールに入れるようにします。また、該当するシートがなければ、インデックスがないと返ります。

miyabi08
質問者

お礼

お礼が遅くなって申し訳ありません。 参考にさせていただきます。 回答ありがとうございました。

その他の回答 (2)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

シート内ではなく、標準モジュールに記述することをオススメします。

miyabi08
質問者

お礼

お礼が遅くなって申し訳ありません。 参考にさせていただきます。 回答ありがとうございました。

  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

Sheet1以外のシートから実行したとのことですが、 「Sheet1」自体は存在していますか?

miyabi08
質問者

補足

存在しています。 ここでの「Sheet1」は、プロパティのオブジェクト名ではなく、 Name(シート名)のことですよね。

関連するQ&A