開いているすべてのブックではなく、このブックからマクロを実行するようにデフォルト設定するにはどうすればよいですか?

開いているすべてのブックではなく、このブックからマクロを実行するようにデフォルト設定するにはどうすればよいですか?

多くの人が使用するマクロ対応のブック (バージョン 2010) があります。これらのユーザーのうち数人は、Personal.xlsb ブックにマクロを設定しています。共有ブックのマクロの名前は個人用ブックのマクロと同じなのに、動作が若干異なるという状況があります。

間違ったマクロが実行されないように、共有ブックの既定値を、開いているすべてのブックではなく、このブックからマクロを実行するように設定したいと思います。 に何かを配置するつもりですWorkBook_Open()が、何を配置すればよいでしょうか?

マクロのデフォルトオプションを に変更する方法はありますAll Open WorkbooksThis Workbook?

答え1

共有ブック内のマクロの名前を変更し、その特定のブック内のそのマクロのインスタンスを置き換えることはできますか?

答え2

サブルーチンを保持するモジュールの名前を変更すると、どのサブルーチンを呼び出すかを正確に指定できます。

例:
Modlue1 を LocalModule1 に名前変更すると、次のようになります。

Sub TestDupe()
    Call LocalModule1.DuplicateName
End Sub

Public Sub DuplicateName()
    ActiveSheet.UsedRange
    MsgBox ("new mod 1")
End Sub

Module2をLocalModule2に名前変更すると、

Public Sub DuplicateName()
      ActiveSheet.UsedRange
      MsgBox ("mod 2")
End Sub

呼び出しの修飾子を から に変更することでLocalModule1LocalModule2どの同じ名前のサブルーチンを実行するかを指定できるようになりました。

関連情報