练习小课堂
你知道Workbook_SheetChange事件与Worksheet_Change事件的异同吗?
你认为什么时候应该使用Workbook_SheetChange事件?什么时候应该使用Worksheet_Change事件?
参考答案
如果只想在指定的某张工作表中更改选中的单元格时自动运行程序,使用Worksheet_Change事件比较适合;如果希望选中工作簿中任意一张工作表里的单元格都自动运行程序,使用Workbook_SheetChange事件更适合。
5.3.3 Workbook事件列表
Workbook事件名称及相应说明见表所示。
表5-2 Workbook事件列表
事件名称 | 事件说明 |
---|---|
Activate | 当激活工作簿时发生 |
AddinInstall | 当工作簿作为加载宏安装时发生 |
AddinUninstall | 当工作簿作为加载宏卸载时发生 |
AfterXmlExport | 在保存或导出指定工作簿中的XML数据之后发生 |
AfterXmlImport | 在刷新现有XML数据连接或新的XML数据被导入任意一个打开的工作簿后发生 |
BeforeClose | 在关闭工作簿前发生。如果工作簿已更改,则此事件在询问用户是否保存更改之前发生 |
BeforePrint | 在打印指定工作簿(或其中任何内容)之前发生 |
BeforeSave | 在保存工作簿前发生 |
BeforeXmlExport | 在保存或导出指定工作簿中的XML数据之前发生 |
BeforeXmlImport | 在刷新现有XML数据连接或新的XML数据被导入任意一个打开的工作簿前发生 |
Deactivate | 在工作簿从活动状态转为非活动状态时发生 |
NewSheet | 在工作簿中新建工作表时发生 |
Open | 在打开工作簿时发生 |
PivotTableCloseConnection | 在数据透视表的连接关闭之后发生 |
PivotTableOpenConnection | 在数据透视表的连接打开之后发生 |
SheetActivate | 在激活任意工作表时发生 |
SheetBeforeDoubleClick | 在双击任意工作表时(默认的双击操作之前)发生 |
SheetBeforeRightClick | 在右键单击任意工作表时(默认的右键单击操作之前)发生 |
SheetCalculate | 在重新计算工作表时或在图表上绘制更改的数据之后发生 |
SheetChange | 当更改了任何工作表中的单元格时发生 |
SheetDeactivate | 当工作表从活动工作表变为不活动工作表时发生 |
SheetFollowHyperlink | 当单击工作簿中的任何超链接时发生 |
SheetPivotTableUpdate | 在更新数据透视表的工作表后发生 |
SheetSelectionChange | 当任意工作表上的选定区域发生更改时发生(但图表工作表上的选定区域发生改变时,不会发生此事件) |
Sync | 当作为“文档工作区”一部分的工作簿的本地副本与服务器上的副本进行同步时发生 |
WindowActivate | 在激活任意工作簿窗口时发生 |
WindowDeactivate | 当任意工作簿窗口由活动窗口变为不活动窗口时发生 |
WindowResize | 在调整任意工作簿窗口的大小时发生 |