2015年11月3日火曜日

Error エクセル VBA ドロップダウンリスト 実行時エラー'1004'

実行時エラー'1004'
アプリケーション定義、またはオブジェクト定義のエラーです。

エクセルVBAでドロップダウンリストを自動生成しているときに上記エラーが出ました。
これは、エラーの起きたファイルを開いていると、ほかエクセルファイルでも出ます。
解決方法をいろいろ探ってみましたが、何とかできるのですが、決まったやり方がわかりませんでした。
問題のあるエクセルシートを開かずに、新規のエクセルでコードを実行するとエラーは起きませんので、コードに問題があるわけではありません。
面倒くさいですが、新規エクセルブックに全部コピーするのが最も早い回避方法でした

起きた原因はおそらく、エクセルのオブジェクトの命名規則でバグがあります。
作成しようとするオブジェクトと同じ名前のオブジェクトが完全に消えてなくて、しかも、消すには作成したオブジェクト名で強引に消すという方法しかなく、どこでエラーが起きたか特定するのに非常に時間がかかります。(消したはずのオブジェクトが何かしら残っている感じです。)

ネットではそのオブジェクトをDeleteしてからやればできる。とか、異なるセルをSelectしてからすればできる。などと解決策をかいておりましたが、いずれも駄目でした。

このエラーが起きたら、バックアップから作業を再開というのが最速の手段でした。

0 件のコメント:

コメントを投稿