![如何默认从此工作簿而不是所有打开的工作簿运行宏?](https://linux22.com/image/1481995/%E5%A6%82%E4%BD%95%E9%BB%98%E8%AE%A4%E4%BB%8E%E6%AD%A4%E5%B7%A5%E4%BD%9C%E7%B0%BF%E8%80%8C%E4%B8%8D%E6%98%AF%E6%89%80%E6%9C%89%E6%89%93%E5%BC%80%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%B0%BF%E8%BF%90%E8%A1%8C%E5%AE%8F%EF%BC%9F.png)
我们有一个启用宏的工作簿(版本 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
,我现在可以指示执行哪个同名子例程。