我正在尝试写一个 宏B 在 工作簿 B 这会打开另一个 工作簿A 并运行 宏A 在表 1 中。
我google了一下,找到了两种方法:
Application.Run
Dim i As Integer, en As Integer
en = Range("B4")
Application.Run "C\Mtest\WorkbookA.xlsb !macroA"
但我收到错误 1004:此表中不存在宏或宏已停用
RunAutoMacros
Workbooks.Open "C\Mtest\WorkbookA.xlsb"
Workbooks("WorkbookA.xlsb").Worksheets("sheet1").Activate
ActiveWorkbook.RunAutoMacros macroA
在这里我得到错误: 1004 RunAutoMacros 方法不起作用。
知道有什么问题吗?或者我怎样才能以更好的方式做到这一点?
最佳答案
假设您的 macroA
在 sheet1
的代码模块中工作簿 C\Mtest\WorkbookA.xlsb
,你应该使用
Application.Run "'C\Mtest\WorkbookA.xlsb'!sheet1.macroA"
关于vba - 从另一个工作簿在工作簿中运行 vba 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768746/