多くの人が使用するマクロ対応のブック (バージョン 2010) があります。これらのユーザーのうち数人は、Personal.xlsb ブックにマクロを設定しています。共有ブックのマクロの名前は個人用ブックのマクロと同じなのに、動作が若干異なるという状況があります。
間違ったマクロが実行されないように、共有ブックの既定値を、開いているすべてのブックではなく、このブックからマクロを実行するように設定したいと思います。 に何かを配置するつもりですWorkBook_Open()
が、何を配置すればよいでしょうか?
マクロのデフォルトオプションを に変更する方法はありますAll Open Workbooks
かThis 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
呼び出しの修飾子を から に変更することでLocalModule1
、LocalModule2
どの同じ名前のサブルーチンを実行するかを指定できるようになりました。