VBA:检测Activeworkbook的变化

我有一个带有主菜单用户UserformXLA AddInmacros。 我需要根据Activeworkbook启用/禁用此菜单用户表单上的boutons。

我的问题是,当用户更改或closuresUserform时,我不知道如何更新用户Userform

我有一个UserForm_Activate ,它更新UserForm_Activate 。 但是,当用户closuresActiveworkbook然后单击用户Userform时,不会触发该事件。

我需要更新用户Userform

  • 一旦Activeworkbook被改变或closures
  • 或者只要用户到达用户Userform (即他可以点击任何控件之前)。

你将如何继续?

在你的xla的ThisWorkbook模块中:

 Private WithEvents xlApp as Excel.Application 

然后,您将看到xlApp具有诸如WorkbookActivate和WorkbookDeactivate等事件