我在特定工作表中开发了一个宏(例如:工作表1),但我想在另一个工作表(工作表2)中运行此宏,而不必打开源代码(工作表1)。
有什么办法可以打电话吗?
此致
答案 0 :(得分:1)
您无法运行位于已关闭工作簿中的VBA代码。但是,您仍然可以从当前打开的其他工作簿运行代码。您可以在当前工作簿中使用VBA代码,该代码可以自动打开其他工作簿,运行代码,然后关闭工作簿。
所以要打开工作簿,Workbooks.Open
。要在该工作簿中运行宏,您需要使用Application.Run "FileName.xlsm!YourMacroNameHere"
。
从其他工作簿运行代码时,您需要注意一件事。如果代码仅引用该工作簿,那么您的代码将不会在新工作簿中进行更改。
示例:
如果您使用的代码表示诸如Set Ws = ThisWorkbook.Worksheets()
之类的内容,则引用Ws
的任何内容都不会更新调用它的书籍(因此,它不会使用代码{{ 1}})
答案 1 :(得分:0)