Excel 中的事件

術語“Excel 事件» 用於指示用戶在 Excel 中執行的某些操作。 例如,當用戶切換工作簿工作表時,這是一個事件。 在單元格中輸入數據或保存工作簿也是 Excel 事件。

事件可以鏈接到 Excel 工作表、圖表、工作簿或直接鏈接到 Excel 應用程序本身。 程序員可以創建將在事件發生時自動執行的 VBA 代碼。

例如,要在用戶每次切換 Excel 工作簿中的工作表時運行宏,您將創建每次發生事件時都會運行的 VBA 代碼 表激活 工作簿。

如果您希望每次轉到特定工作表時都運行宏(例如, Sheet1),那麼 VBA 代碼必須與事件相關聯 啟用 對於這張紙。

用於處理 Excel 事件的 VBA 代碼必須放在 VBA 編輯器窗口中的相應工作表或工作簿對像中(編輯器可以通過單擊打開 Alt + F11鍵)。 例如,每次在工作表級別發生特定事件時應執行的代碼應放置在該工作表的代碼窗口中。 如圖所示:

在 Visual Basic 編輯器中,您可以查看在工作簿、工作表或圖表級別可用的所有 Excel 事件集。 打開所選對象的代碼窗口,然後從窗口頂部的左側下拉菜單中選擇對像類型。 窗口頂部的右側下拉菜單將顯示為此對象定義的事件。 下圖顯示了與 Excel 工作表關聯的事件列表:

Excel 中的事件

在右側下拉菜單中單擊所需的事件,一個過程將自動插入到該對象的代碼窗口中 . 在程序的開頭 Excel 會自動插入所需的參數(如果有)。 剩下的就是添加 VBA 代碼以確定在檢測到所需事件時過程應執行的操作。

在以下示例中,每次選擇一個單元格時 B1 在工作表上 Sheet1 出現一個消息框。

要執行此操作,我們需要使用工作表事件 選擇_改變,每次選擇的單元格或單元格範圍發生更改時都會發生這種情況。 功能 選擇_改變 作為參數接收 目標 對象 - . 這就是我們知道選擇了哪個單元格範圍的方式。

活動 選擇_改變 任何新選擇都會發生。 但是我們需要僅在選擇單元格時執行一組操作 B1. 為此,我們將僅在指定範圍內跟踪事件 目標. 在如下所示的程序代碼中是如何實現的:

'在當前工作表上選擇單元格 B1 時顯示消息框的代碼。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) '檢查單元格 B1 是否被選中 If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then '如果單元格 B1 被選中,則執行以下 MsgBox "You have選擇了一個單元格 B1" End If End Sub

發表評論