2016-11-07 206 views
0

对宏使用个人工作簿时,如何使其在打开任何工作簿时立即运行?我发现这个解决方案并不完美(代码如下),但它没有做到我所需要的,因为它只在第一次打开Excel时才起作用。我希望能够保持Excel打开,并且打开的任何新工作簿都将触发宏运行。在打开每个Excel工作簿时自动运行宏

Sub workbook_open() 
MsgBox ("Hello.") 
End Sub 
+0

您可以使用按钮让用户选择用户想要打开的工作簿。这将比打开任何工作簿时运行代码好得多(如果甚至可能的话)。 – NavkarJ

+1

可能的重复 - http://stackoverflow.com/questions/31615594/run-vba-macro-whenever-any-workbook-is-opened – Rdster

回答

0

您想使用Workbook Open event。请在工作簿模块中:

Private Sub Workbook_Open() 
Msgbox("Hello.") 
' Whatever other code you like here too. 
End Sub 
+0

“私人”部分是否做特别的事情?我已经有了这个。它不会做我想要的。当打开一个新的工作簿(Personal.xlsx除外)时,我想让宏运行。 – Robby

+0

@Robby你是指当*任何*新工作簿打开时,而不是现有的工作簿?把代码放入personal.xlsb我相信,它会在任何新的工作簿上打开IIRC – BruceWayne

+0

这只有在我完全关闭Excel并打开工作簿时才有效。 – Robby

相关问题