如何在不打开此macros的源代码的情况下在其他工作簿中使用macros
我在特定的工作表(例如:工作表1)中开发了一个macros,但是我想在另一个工作表(工作表2)中运行此macros而不必打开源代码(工作表1)。
有什么办法可以打电话吗?
问候,
您不能运行封闭的工作簿中的VBA代码。 但是,您仍然可以从当前打开的其他工作簿运行代码。 您可以在当前工作簿中使用VBA代码,该代码可以自动打开其他工作簿,运行代码,然后closures工作簿。
所以要打开一个工作簿, Workbooks.Open
。 要运行该工作簿中的macros,您将需要使用Application.Run "FileName.xlsm!YourMacroNameHere"
。
从另一个工作簿运行代码时,您需要注意一件事。 如果代码仅对该工作簿进行引用,那么您的代码将不会在新工作簿中进行更改。
例:
如果你正在使用的代码说的是Set Ws = ThisWorkbook.Worksheets()
这样的东西,那么任何引用Ws
东西都不会更新调用它的书(因此,它不会引用书中的代码Application.Run
)