首页 » 别怕,ExcelVBA其实很简单 » 别怕,ExcelVBA其实很简单全文在线阅读

《别怕,ExcelVBA其实很简单》练习小课堂

关灯直达底部

你知道Workbook_SheetChange事件与Worksheet_Change事件的异同吗?

你认为什么时候应该使用Workbook_SheetChange事件?什么时候应该使用Worksheet_Change事件?

参考答案

如果只想在指定的某张工作表中更改选中的单元格时自动运行程序,使用Worksheet_Change事件比较适合;如果希望选中工作簿中任意一张工作表里的单元格都自动运行程序,使用Workbook_SheetChange事件更适合。

5.3.3 Workbook事件列表

Workbook事件名称及相应说明见表所示。

表5-2Workbook事件列表

事件名称事件说明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在调整任意工作簿窗口的大小时发生