如何預設巨集從該工作簿運行,而不是從所有開啟的工作簿運行?

如何預設巨集從該工作簿運行,而不是從所有開啟的工作簿運行?

我們有一個許多人使用的啟用巨集的工作簿(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

透過將呼叫中的限定符從LocalModule1to更改LocalModule2,我現在可以指定要執行哪個同名子例程。

相關內容