excel 使用Application.Run调用宏时出现错误1004

odopli94  于 2022-12-20  发布在  其他
关注(0)|答案(3)|浏览(232)

我找不到Application.Run命令返回的错误1004的原因。

Sub Called()
  MsgBox "Yes"
End Sub

Sub Caller()
  Call Called ' works
  subName = "Called"
  Application.Run Application.ActiveWorkbook.Name & "!" & subName ' error 1004
End Sub

错误描述(法语):

---------------------------
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
---------------------------

我在谷歌上搜索这个问题后找到的每一个解决方案都会导致同样的错误。调用者和被调用的subs在同一个“Sheet1”模块中。
我有点困惑。我想知道这个问题是否与XL安全有关?或者参考文献中缺少了什么?

icnyk63a

icnyk63a1#

将代码移出Sheet1模块并移入普通模块。

ecfdbz9o

ecfdbz9o2#

我也有同样的问题。
我通过将第二个宏移到同一个模块来修复它。
好像是记忆问题。

c86crjj0

c86crjj03#

备注:我有错误1004的问题“子或函数找不到”错误后,应用程序。运行宏,参数
但是没有arg的宏可以工作。
我发现在目标工作簿中,参数arg的声明方式造成了差异:
宏(arg$)-〉导致错误
宏(arg As String)-〉已运行(片刻)
后来同样的错误再次...非常奇怪的行为Excel VBA编辑器:在Application.Run命令行中,VBE与光标的偏移量为2个字符,这意味着当我将光标设置在Run的n之后并按下backspace时,Run的R被删除。当我键入字符时,偏移量相同。当我复制粘贴该行时,该问题正在移动。
我发现错误发生在有这个问题的行中。
我通过键入new行(考虑到新行没有这个问题)并删除有这个问题的旧行来解决这个问题。

相关问题