• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じマクロ名でも、違うモジュールならエラーにならな)

エクセルVBAで同じマクロ名を違うモジュールで使ってもエラーにならないのはなぜ?

このQ&Aのポイント
  • エクセルVBAで標準モジュールとフォームモジュールで同じマクロ名を使ってもエラーにならないのはなぜでしょうか?
  • フォームモジュールにはPrivate Subが含まれているため、マクロ名の衝突が起こらないようになっています。
  • したがって、フォームモジュールに1つ、標準モジュールに1つ同じマクロ名を使ってもエラーにならずに実行することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

シートが同じ中では同じ名前は使えません。 たとえば2枚の標準モジュール(Module1とModule2)になら、同じ名前のmacro1を作成することができます。 privateかpublicかは、他のモジュール(=マクロのシート)から当該のマクロを呼び出せるか否かを指定しているにすぎません。

news_goal_walk
質問者

お礼

実験してみたところ、 Module1にmacro1を作って、Module2にmacro1を作って、コンパイルしてみてもエラーになりませんでした。 privateかpublicかは関係ないようですね。 ありがとうございました。

関連するQ&A