VBAマクロを含むエクセルブックを開くとコンパイルエラーが発生する
質問
VBAマクロを含むエクセルブックを開くとVBA のコンパイルエラーで停止してしまいました。また今まで使用できていたExcel-Link アドインも使えなくなってしまいました。
Excel-Link アドインを組込み直すと改善しますが数日後に再度同じ状況になります。
原因と対応方法を教えてください。
回答
VBA は、コンパイルした中間コードを保持し続けており、VBAのソースコードが変更されると、中間コードをアップデートしているようですが、これが正常に完了せず、中間コードが壊れることがあります。
そうした場合は、マクロを無効にした状態でエクセルファイルを保存すると、中間コードが削除されます(ファイル容量も減ります)。
次にVBAを実行したときに中間コードは再作成されます。
また、明示的にコンパイルすると問題が解消されることがあります。
その他、Office 等のアップデートが関連している可能性もあります。エラーが発生しているユーザと発生していないユーザがいる場合は、バージョン・ビルドの違いを確認してください。
また当バージョン・ビルドに不具合情報などがあるかお調べいただき、不具合がある場合は、問題のないビルドバージョンに戻すこともご検討ください。