HTKK 5.0.3
HTKK 是稅務總局免費發布的報稅支援軟體,提供企業快速建立報稅表。了解HTKK的安裝步驟與升級功能。
如果您想很好地掌握 Excel VBA,您可能會從幾個示例中受益,以開發視覺基礎能力。在這裡,您可以找到一些 Excel VBA 示例,以便您掌握這個事件處理業務的竅門。
最常用的Excel VBA 事件之一是工作簿打開事件。假設您有一個每天使用的工作簿。每次打開工作簿時都會執行此示例中的 Workbook_Open 過程。該程序檢查星期幾;如果是星期五,代碼會為您顯示一條提醒消息。
要創建在 Workbook Open 事件發生時執行的 Excel VBA 過程,請執行以下步驟:
打開 Excel 工作簿。
任何 Excel 工作簿都可以。
按 Alt+F11 激活 VBE。
在“項目”窗口中找到工作簿。
如有必要,雙擊項目名稱以顯示其項目。
雙擊 ThisWorkbook 項目。
VBE 為 ThisWorkbook 對象顯示一個空的代碼窗口。
在代碼窗口中,從對象(左側)下拉列表中選擇工作簿。
VBE 輸入 Workbook_Open 過程的開始和結束語句。
輸入以下語句,因此完整的事件過程如下所示:
私有子工作簿_Open() 將消息調暗為字符串 如果工作日(現在)= 6 那麼 Msg = "今天是星期五,別忘了" Msg = Msg & "提交 TPS 報告!" 消息框消息 萬一 結束子
代碼窗口應如下所示。
該事件處理程序在工作簿打開時執行。
Workbook_Open 每當打開工作簿時自動執行。它使用 VBA 的 WeekDay 函數來確定星期幾。如果是星期五(第 6 天),則會有一個消息框提醒用戶提交報告。如果不是星期五,什麼都不會發生。
如果今天不是星期五,您可能很難測試此程序。您可以將 6 更改為對應於今天的實際天數。
當然,您可以按照自己喜歡的任何方式修改此過程。例如,以下版本每次打開工作簿時都會顯示一條消息。這會在一段時間後變得煩人。
Workbook_Open 過程幾乎可以做任何事情。這些事件處理程序通常用於以下用途:
下面是 Workbook_Open 過程的最終 Excel VBA 示例,該過程使用 GetSetting 和 SaveSetting 函數來跟踪工作簿已打開的次數。SaveSetting 函數將一個值寫入 Windows 註冊表,GetSetting 函數檢索該值(有關詳細信息,請參閱幫助系統)。下面的 Excel VBA 示例從註冊表中檢索計數,將其遞增,然後將其保存回註冊表。它還告訴用戶對應於工作簿打開次數的 Cnt 值。
私有子工作簿_Open() 將 Cnt 調暗至長 Cnt = GetSetting("MyApp", "設置", "打開", 0) Cnt = Cnt + 1 SaveSetting "MyApp", "Settings", "Open", Cnt MsgBox "此工作簿已被打開 " & Cnt & " 次。 結束子
使用 Workbook_Open 事件處理程序來跟踪工作簿被打開的次數。
這是 Excel VBA Workbook_BeforeClose 事件處理程序過程的示例,該過程在工作簿關閉前立即自動執行。此過程位於 ThisWorkbook 對象的代碼窗口中:
Private Sub Workbook_BeforeClose(Cancel As Boolean) 將消息調暗為字符串 Dim Ans 長 將 FName 調暗為字符串 Msg = "你要備份這個文件嗎?" Ans = MsgBox(Msg, vbYesNo) 如果 Ans = vbYes 那麼 FName = "F:\BACKUP\" & ThisWorkbook.Name ThisWorkbook.SaveCopyAs FName 萬一 結束子
此例程使用消息框詢問用戶是否要製作工作簿的備份副本。如果答案是肯定的,則代碼使用 SaveCopyAs 方法在驅動器 F 上保存文件的備份副本。如果您調整此過程以供自己使用,則需要更改驅動器和路徑。
Excel 程序員經常使用 Workbook_BeforeClose 過程來自己清理。例如,如果您在打開工作簿時使用 Workbook_Open 過程更改某些設置(例如隱藏狀態欄),則只有在關閉工作簿時才將設置返回到其原始狀態才是合適的。您可以使用 Workbook_BeforeClose 過程執行此電子內務處理。
使用 Workbook_BeforeClose 事件時,請記住這一點:如果您關閉 Excel 並且自上次保存以來任何打開的文件已更改,Excel 將顯示其通常的“是否要保存更改”消息框。單擊取消按鈕取消整個關閉過程。但是 Workbook_BeforeClose 事件無論如何都會被執行。
顧名思義,BeforeSave 事件在保存工作簿之前觸發。當您選擇文件 → 保存或文件 → 另存為時,會發生此事件。
以下過程位於 ThisWorkbook 對象的代碼窗口中,演示了 BeforeSave 事件。每次保存工作簿時,例程都會更新單元格(Sheet1 上的單元格 A1)中的值。換句話說,單元格 A1 用作計數器來跟踪文件被保存的次數。
私有子工作簿_BeforeSave(ByVal SaveAsUI _ 作為布爾值,取消作為布爾值) 將計數器調暗為範圍 Set Counter = Sheets("Sheet1").Range("A1") 計數器.值 = 計數器.值 + 1 結束子
請注意 Workbook_BeforeSave 過程有兩個參數:SaveAsUI 和 Cancel。要演示這些參數的工作原理,請檢查以下宏,該宏在保存工作簿之前執行。此過程試圖防止用戶使用不同的名稱保存工作簿。如果用戶選擇文件 → 另存為,則 SaveAsUI 參數為 True。
當代碼執行時,它會檢查 SaveAsUI 值。如果此變量為 True,該過程將顯示一條消息並將 Cancel 設置為 True,從而取消 Save 操作。
私有子工作簿_BeforeSave(ByVal SaveAsUI _ 作為布爾值,取消作為布爾值) 如果 SaveAsUI 那麼 MsgBox "您無法保存此工作簿的副本!" 取消 = 真 萬一 結束子
請注意,此過程不會真正阻止任何人使用不同的名稱保存副本。如果有人真的想這樣做,他或她可以在禁用宏的情況下打開工作簿。當宏被禁用時,事件處理程序也被禁用,這是有道理的,因為它們畢竟是宏。
HTKK 是稅務總局免費發布的報稅支援軟體,提供企業快速建立報稅表。了解HTKK的安裝步驟與升級功能。
探索 Excel 中的 Microsoft Power Query 日期函數,快速處理日期計算和操作,其中包含添加天數、提取日期部分等功能的詳細說明。
3D 地圖是 Excel 2019 中提供的令人興奮的可視化分析功能,讓你能夠在 Excel 中創建動態的 3D 地圖。探索如何利用這項技術提升數據分析的效果。
了解如何在 Excel 中使用 SKEW 和 SKEW.P 函數來衡量數據分佈的偏度,這對於分析數據的對稱性至關重要。
時間軸切片器的工作方式與標準切片器的工作方式相同,因為它允許您使用視覺選擇機製過濾數據透視表。了解如何在 Excel 中使用時間軸切片器來高效管理日期字段。
了解如何在 Excel 2016 中使用 XLOOKUP 函數,這是一個 VLOOKUP 函數的優秀替代品,具有更強大和靈活的功能!
Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。
SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。
萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。
Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。