在另一个工作簿的工作簿中运行一个vbamacros
我正尝试在WorkbookB中编写一个macroB ,该macros打开另一个WorkbookA并在sheet1中运行macroA 。
我Googlesearch了两个方法:
-
使用
Application.Run
Dim i As Integer, en As Integer en = Range("B4") Application.Run "C\Mtest\WorkbookA.xlsb !macroA"
但是我得到错误1004:或者macros剂量不存在于此工作表或macros被停用
-
使用
RunAutoMacros
Workbooks.Open "C\Mtest\WorkbookA.xlsb" Workbooks("WorkbookA.xlsb").Worksheets("sheet1").Activate ActiveWorkbook.RunAutoMacros macroA
在这里,我得到的错误:1004方法RunAutoMacros不起作用。
任何想法是什么错误? 或者我怎样才能以更好的方式做到这一点?
假设您的macroA
位于工作簿C\Mtest\WorkbookA.xlsb
的工作表macroA
的代码模块中,您应该使用
Application.Run "'C\Mtest\WorkbookA.xlsb'!sheet1.macroA"
我认为空间是问题。 尝试删除它。 即 – 改变这一行
Application.Run "C\Mtest\WorkbookA.xlsb !macroA"
至
Application.Run "C\Mtest\WorkbookA.xlsb!macroA"