2016-06-22 64 views
0

Excel Workbook A宏,我有一個macro調用從另一個工作簿並不總是被執行

  1. 填補輸入的一系列其他工作簿
  2. 的調用摘要選項卡中的AUTORUN
  3. 收集結果

的邏輯非常簡單,但我發現,Step 2並不總是被執行,這是相當小號trange ...我有confirmed輸入已經正確輸入,我可以去每個失敗的Excel工作簿,並通過點擊鏈接到AUTORUN按鈕來運行模擬。有沒有人有任何建議(我正在使用EXCEL 2013)?提前致謝!以下是來自不同工作簿的macro的調用方式。

 Workbooks(NewFileName).Activate 
     Application.Run ("'" & NewFileName & "'!AUTORUN") 
+0

你有什麼錯誤?或者代碼沒有運行。我應該運行測試,但是如果您已經將NewFileName設置爲活動工作簿,則不需要在Application.Run() –

+0

@MaximePorté中指定「NewFileName」,也不需要EXCEL發出錯誤消息或其他抱怨。這真的很奇怪,我不知道如何捕捉這個錯誤。有時候,重新啓動機器之後會出現問題... –

+0

「NewFileName」的值是什麼?你從哪裏調用這些代碼? (一個子/功能,一個事件,哪一個) 編輯:看看「宏」按鈕(你的工作簿NewFileName需要打開並設置你自己在另一個工作簿上),你的自動運行功能的顯示名稱是什麼在裏面 ? –

回答

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 
+0

感謝您的測試方法! –

相關問題