VBA – 在任何工作簿打开时自动运行

每次打开任何工作簿时,都需要在我的PERSONAL.XLAM文件中运行一个Sub。 下面的工作,但只有当打开一个工作簿时,没有其他工作簿打开。

Private Sub Workbook_Open() MsgBox "Hello." End Sub 

如何在打开其他工作簿时进行此项工作?

根据Masoud的评论 , 这是一篇很棒的文章 。 你可以在那里find所有的细节,但简单地说,这是你所需要的一切:

 Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_NewWorkbook(ByVal Wb As Workbook) MsgBox "New Workbook: " & Wb.Name End Sub 

将代码放入您的ThisWorkbook模块。