2013-10-16 39 views
1

我已經嘗試使用許多站點建議在打開Excel工作簿時自動運行宏列表的代碼。附件是我的VBA代碼上的ThisWorkbook:什麼是打開後自動運行宏的好方法

Private Sub WorkbookOpen() 


MsgBox "STOP! Do NOT attempt to highlight any fields manually!" & vbCrLf & _ 
    "Any highlighting will be overwritten upon reentry of this workbook.", vbOKOnly  +vbExclamation 

Call Melanoma.ReformatDeplete 
Call Melanoma.CScheckNO 
Call Melanoma.CScheckMissing 
Call Glioma.ReformatDeplete 
Call Glioma.ReformatGBM 
Call Glioma.CScheckNO 
Call Glioma.CScheckMissing 
Call Breast.ReformatDeplete 
Call Breast.CScheckNO 
Call Breast.CScheckMissing 
Call Lymphoma.ReformatDeplete 
Call Lymphoma.CScheckNO 
Call Lymphoma.CScheckMissing 
Call Lung.ReformatDeplete 
Call Lung.CScheckNO 
Call Lung.CScheckMissing 
Call Miscellaneous.ReformatDeplete 
Call Miscellaneous.CScheckNO 
Call Miscellaneous.CScheckMissing 
Call Normals.ReformatDeplete 
Call Normals.CScheckNO 
Call Normals.CScheckMissing 


End Sub 

很顯然,我保存工作簿爲2010啓用宏的工作簿,但是當我打開工作簿時,什麼都不會發生在其上,我還是要點擊「運行按鈕「在VBA

有什麼建議嗎?

謝謝!

回答

10

你接近,只是添加下劃線

Private Sub Workbook_Open() 
+1

+ 1 Good Catch :) –

+0

非常感謝你!它像一個魅力一樣工作! – crazian

0

有兩個可能的原因宏將不會自動運行:宏不在工作簿

  1. 安全設置
  2. 代碼區域
+3

第三,假設OP在這裏粘貼代碼時沒有輸入錯誤:宏沒有以事件過程命名,所以它不會在事件中運行:) –

4

在工作簿上運行宏有兩種主要方法打開

  1. 哪個波特蘭亞軍已經在他的帖子中提到過。 Private Sub Workbook_Open()

  2. 在模塊中使用Sub Auto_Open()。雖然我們在此,但您可能還想檢查THIS。這個鏈接是關於Configure a macro to run automatically upon opening a workbook

Private Sub Workbook_Open()優於Sub Auto_Open()的,因爲在那個鏈接提到的原因是多方面的。

+0

你能否更新上述文章中的鏈接格式? –

相關問題