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

时间:2016-06-22 22:11:37

标签: excel vba excel-vba

uid中,我有一个Excel Workbook A

  1. 填写一系列其他工作簿的输入
  2. 调用macro
  3. 在摘要标签
  4. 中收集结果

    逻辑非常简单,但我发现AUTORUN并不总是被执行,这很奇怪......我有Step 2输入已正确输入我可以去每个失败的Excel通过单击链接到confirmed的按钮运行工作簿并运行模拟。有没有人对此有任何建议(我使用的是EXCEL 2013)?提前致谢!下面是调用来自不同工作簿的AUTORUN的方式。

    macro

1 个答案:

答案 0 :(得分:1)

我进行了一些测试

文件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