讀古今文學網 > 別怕,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在調整任意工作簿窗口的大小時發生