PR
スポンサーリンク

【ExcelVBA】「次の非表示モジュール内でコンパイルエラーが発生しました。」エラーの原因

スポンサーリンク
エクセルVBA-非表示モジュールでコンパイルエラー_アイキャッチ エラー・不具合
スポンサーリンク
スポンサーリンク
スポンサーリンク

「次の非表示モジュール内でコンパイルエラーが発生しました。」エラーメッセージとは

先日マクロを作成して実行して、を繰り返しているときに↓のエラーメッセージが表示されました。

エクセルVBA-非表示モジュール内でコンパイルエラーが発生しました_メッセージ

メッセージに表示されている文字は
「次の非表示モジュール内でコンパイルエラーが発生しました。」というもので今まで見たことがないエラーだったので何が起きたんだ?!と一瞬固まりました。

スポンサーリンク

ネットで検索した結果…解決せず

ネットで「非表示モジュール内でコンパイルエラーが発生しました。」のアラートを検索してみましたが、調べたページに書かれていた原因の可能性はExcelのVBAの参照設定や32ビット、64ビットの相違によるVBA関数エラーなどどれも自分のケースには当てはまらなそうなものばかりでした。

↓参考にしたページ

Redirecting
非表示モジュール 内でコンパイル エラーが発生しました
Office VBA リファレンス トピック
スポンサーリンク

エラーの原因が判明(自分の場合)

何かとてつもない事態が起きたかのようなエラーメッセージですが、私の場合のエラーの原因は下のものでした。

原因①:同じプロシージャ内で変数宣言が重複していた。

実際にそのときのコードではないですが、↓のようなイメージです。

エクセルVBA-変数宣言が重複しているイメージ

同じプロシージャ内で同じ変数名は使用できないですが、誤って2箇所で同じ変数の宣言を書いてしまっていました。

これを直したらアッサリ解決。

ちなみにそのエラーが出たPCは会社で使用している端末なのですが、いま家のPCで同じエラーを再現しようとすると、普通の?というかよく見るコンパイルエラーが表示されました。
家のPCでは「次の非表示モジュール内でコンパイルエラーが発生しました。」のエラーメッセージは確認できず…。

エクセルVBA-コンパイルエラー_同じ適用範囲内で宣言が重複しています。

「コンパイルエラー;同じ適用範囲内で宣言が重複しています。」
このメッセージなら原因にすぐたどり着けますね。

上記が1回目の原因でした。

スポンサーリンク

またもやエラーが発生…2回目の原因


その後、また「次の非表示モジュール内でコンパイルエラーが発生しました。」が発生しました。
2回目エラー時の原因は↓のものでした。

原因②:宣言していない変数名を使用していた。

これもよくやってしまいがちなミスですが、宣言した変数名を書いたつもりが一部異なった名前で使用してしまっていた、というケースです。

↓イメージはこんな感じ

エクセルVBA-変数名が誤っているイメージ

ちなみにこれも会社PCで発生しましたが、家のPCで再現しようとすると↓のアラートメッセージが表示されて、再現はできませんでした。

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

エクセルVBA-変数名が誤っている時のアラート

ちょっとモヤモヤは残りつつも、エラー原因は2回とも単純なミスだったことが発覚し、修正後はエラーが出ることはなくなりました。

スポンサーリンク

まとめ

私の場合の原因は2回とも単純なコードミス(どちらも変数に関係するもの)でした。
エラーの原因は様々なケースがあると思いますので一例ですが、こんなパターンもあったという記録で記事に残しておきます。

もし同じ状況の方がいて参考になれば幸いです。

スポンサーリンク

※コードのコピー利用について

・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。

タイトルとURLをコピーしました