Office VBA从新手到高手
上QQ阅读APP看书,第一时间看更新

高手私房菜

本节视频教学录像:2分钟

技巧:事件产生的顺序

前面已经介绍到工作簿和工作表都有很多事件,那么如果同时定义了多个事件的情况下,系统如何响应呢?因此需要了解事件的产生顺序,这将有助于在各事件中编写代码,完成相应的操作。

1. 工作簿事件的顺序

对于常见的工作簿事件,其发生顺序依次如下所述。

Workbook Open:打开工作簿时触发该事件。

Workbook Activate:打开工作簿时,在Open事件之后触发该事件;或者多个工作簿之间切换时,激活状态的工作簿触发该事件。

Workbook BeforeSave:保存工作簿之前触发该事件。

Workbook BeforeClose:关闭工作簿之前触发该事件。

Workbook Deactivate:关闭工作簿时,在BeforeClose事件之后触发该事件。或者多个工作簿时非激活态的工作簿触发该事件。

2.工作表事件的顺序

对于常见的工作表事件,其发生顺序依次如下所述。

修改单元格中内容后,再改变活动单元格时事件顺序为:

Worksheet Change,更改工作表中单元格时触发该事件;

Worksheet SelectionChange,工作表中选定区域发生改变时。

更改当前工作表时,事件产生的顺序为:

Worksheet Deactivate,工作表从活动状态转为非活动状态时触发。

Worksheet Activate,激活工作表时触发该事件。