VBA Application.Run返回错误1004该宏可能在此工作簿中不可用,或者所有宏都可能被禁用

时间:2018-11-26 11:52:54

标签: excel vba

我有一个VBA项目,该项目同时使用两个工作簿。在工作簿A中,模块从工作簿B调用模块,如下所示:

If oED Is Nothing Then 
      Set oED = Application.Run("'" & workbookB & "'!wbB.MainModule.InitDatabaseObject")
End If

这以前工作正常,但突然(显然)这一行代码在另一个工作簿中找不到模块/宏。

我收到此错误消息

  

错误1004。此工作簿或全部中可能无法使用该宏   宏可能已禁用。

我试图:

  • 清除Excel中的宏设置
  • 清洁工作簿(使用工具)
  • 删除ActiveX缓存文件(* .exd文件)

当我的同事在计算机上运行相同的工作簿时,就可以正常工作。

有人知道发生了什么事吗?

Br, 约翰

1 个答案:

答案 0 :(得分:1)

找到了罪魁祸首。 workbookB根本没有编译。更正它并确保它已编译Application.Run正常。