2016-12-04 61 views
0

我找不到由Application.Run命令返回的错误1004的原因。使用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 
--------------------------- 

每个解决方案,我在Google上搜寻这个问题后发现,导致同样的错误。呼叫方和被叫方位于同一个“Sheet1”模块中。

我有点失落。我想知道这个问题是否与XL安全有关?或者在参考文献中缺少的东

+0

我正在使用XL 2010. – JnLlnd

回答

4

将您的代码从Sheet1模块移出并移入正常模块。

+0

感谢您的帮助,但这不是原因。我试过这个报价,结果相同。我将文件移动到“c:\ temp \ toto.xlsm”,结果相同。 – JnLlnd

+0

@JnLlnd Doh !!我没有注意到你说过你的代码是在一张表内。将代码移到一个项目模块中,它应该没问题。 (但是,一旦它工作,你仍然需要注意文件名中的空格等等。)其实'Application.Run“Sheet1。” &subName'也应该工作,即使它在'Sheet1'代码模块中。 – YowE3K

+0

你是对的。我知道这是一个虚假的错误......我的印象是普通纸。谢谢@YowE3K。 – JnLlnd

0

我有同样的问题。

我通过将第二个宏移动到同一个模块来修复它。

看起来像内存问题。