从另一个工作簿调用macros并不总是被执行

Excel Workbook A ,我有一个macro

  1. 填补了一系列其他工作簿的input
  2. 调用AUTORUN
  3. 在摘要选项卡中收集结果

逻辑很简单,但我发现Step 2并不总是被执行,这是很奇怪的…我已经confirmedinput已经正确input,我可以去每个失败的Excel工作簿,并通过点击链接button来运行模拟到AUTORUN 。 有没有人有任何build议(我正在使用EXCEL 2013)? 提前致谢! 下面是来自不同工作簿的macro如何调用。

  Workbooks(NewFileName).Activate Application.Run ("'" & NewFileName & "'!AUTORUN") 

我运行一些testing

文件1(来电者):

方法AAATEST()在一个模块中

 Public Sub AAATEST() Dim file As String: file = "test.xlsm" call Workbooks.Open("C:\temp\" & file) Workbooks(file).Activate Call Application.Run("'" & file & "'!AUTORUN") End Sub 

文件2(带有自动运行):

AUTORUN()方法在一个模块中

 Public Sub AUTORUN() MsgBox "autorun is my life" End Sub 

结果:

运行AAATEST()方法时,我总是收到消息。 我怀疑在AUTORUN中没有引发错误。

要检查自动运行是否运行,请在方法中添加停止作为第一条指令并逐步执行您的代码(使用F8)

 Public Sub AUTORUN() Stop ... MsgBox "autorun is my life" End Sub