2016-12-04 37 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

我有同樣的問題。

我通過將第二個宏移動到同一個模塊來修復它。

看起來像內存問題。