對宏使用個人工作簿時,如何使其在打開任何工作簿時立即運行?我發現這個解決方案並不完美(代碼如下),但它沒有做到我所需要的,因爲它只在第一次打開Excel時才起作用。我希望能夠保持Excel打開,並且打開的任何新工作簿都將觸發宏運行。在打開每個Excel工作簿時自動運行宏
Sub workbook_open()
MsgBox ("Hello.")
End Sub
對宏使用個人工作簿時,如何使其在打開任何工作簿時立即運行?我發現這個解決方案並不完美(代碼如下),但它沒有做到我所需要的,因爲它只在第一次打開Excel時才起作用。我希望能夠保持Excel打開,並且打開的任何新工作簿都將觸發宏運行。在打開每個Excel工作簿時自動運行宏
Sub workbook_open()
MsgBox ("Hello.")
End Sub
您想使用Workbook Open
event。請在工作簿模塊中:
Private Sub Workbook_Open()
Msgbox("Hello.")
' Whatever other code you like here too.
End Sub
「私人」部分是否做特別的事情?我已經有了這個。它不會做我想要的。當打開一個新的工作簿(Personal.xlsx除外)時,我想讓宏運行。 – Robby
@Robby你是指當*任何*新工作簿打開時,而不是現有的工作簿?把代碼放入personal.xlsb我相信,它會在任何新的工作簿上打開IIRC – BruceWayne
這隻有在我完全關閉Excel並打開工作簿時纔有效。 – Robby
您可以使用按鈕讓用戶選擇用戶想要打開的工作簿。這將比打開任何工作簿時運行代碼好得多(如果甚至可能的話)。 – NavkarJ
可能的重複 - http://stackoverflow.com/questions/31615594/run-vba-macro-whenever-any-workbook-is-opened – Rdster