どうも、こんばんは。IPPEIです。
最近のExcelは、パワークエリさんのおかげで、一昔前みたいなゴリゴリのVBAを書くことはあまりなくなった。本当にありがたい。パワークエリ使ったことないって? Excelの価値の半分を損しているよ。
そうはいっても、マクロを使う場面も少しはあるのだが、先日謎エラーが発生したので紹介しようと思う。発生したコードの箇所とエラーの内容は次のとおりである。
Worksheets("Sheet1").Select
エラーダイアログの内容: 実行時エラー ‘-2147319767 (80028029)’: オートメーション エラーです。無効な前方参照か、コンパイルされていない種類への参照です。
なんだこれは。僕も見たことのないエラーである。決して難しくないし、エラーになりようがない処理だ。それに、頻繁に使っているマクロだ。Excelを再起動してみたがダメ。PCを再起動してもダメ。シート名を変えてみてもダメだ。
とりあえず、エラー文をそのままググってみたところ、解決策が見つかった。
ブックを新規作成して、全てのシートとマクロをコピーする
このエラーの解決方法は、なんと、ブックを新しく作り直すということである。面倒だが、すべてのシートをコピーして(テーブルやクエリが含まれていると一気にコピーできない!)、もちろん必要なVBAのコードもコピーする。
この方法をとったところ、無事にマクロを実行することができた。何が原因でこのエラーが出るのかは謎でしかないが、何かしらブックが破損してしまったのかもしれない。
今回参考にさせてもらった記事によると、ファイルを保存する時にこのエラーが出ることがあるようで、結構困っている方もいそうである。