- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じマクロ名でも、違うモジュールならエラーにならな)
エクセルVBAで同じマクロ名を違うモジュールで使ってもエラーにならないのはなぜ?
このQ&Aのポイント
- エクセルVBAで標準モジュールとフォームモジュールで同じマクロ名を使ってもエラーにならないのはなぜでしょうか?
- フォームモジュールにはPrivate Subが含まれているため、マクロ名の衝突が起こらないようになっています。
- したがって、フォームモジュールに1つ、標準モジュールに1つ同じマクロ名を使ってもエラーにならずに実行することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
シートが同じ中では同じ名前は使えません。 たとえば2枚の標準モジュール(Module1とModule2)になら、同じ名前のmacro1を作成することができます。 privateかpublicかは、他のモジュール(=マクロのシート)から当該のマクロを呼び出せるか否かを指定しているにすぎません。
お礼
実験してみたところ、 Module1にmacro1を作って、Module2にmacro1を作って、コンパイルしてみてもエラーになりませんでした。 privateかpublicかは関係ないようですね。 ありがとうございました。