如何在儲存格內容變更時自動記錄對應的日期與時間?
在日常 Excel 工作中,手動插入靜態的日期與時間值相當簡單,也能透過公式顯示隨系統時鐘動態更新的日期。然而,若您希望在儲存格內容變更或輸入新值時自動記錄確切的日期與時間(也就是建立編輯時間戳記),就需要採用不同的方法。自動時間戳記特別適用於資料日誌的變更追蹤、訂單追蹤表的更新監控,或在協作試算表中為稽核目的記錄輸入等情境。雖然 Excel 本身並未內建「在值變更時自動擷取編輯時間戳記」的功能,但仍有幾種實用的替代方案。本文將介紹從 VBA 編碼到特殊公式技巧等多種解決方法,協助您在儲存格值變更時自動加上日期與時間戳記。
使用 VBA 程式碼在儲存格變更時自動記錄日期與時間
假設您有一張數值表格,需要即時追蹤所有更新。例如,每當 B 欄的數值變更或新增資料時,C 欄就會自動填入當前日期與時間。此功能廣泛應用於出勤記錄、庫存日誌,或任何需透過時間戳記追蹤編輯歷程、釐清責任歸屬及確保合規性的工作流程。

為實現此類記錄自動化,您可對工作表套用簡易的 VBA 巨集。相較於手動輸入時間戳記,這種基於 VBA 的方法能確保每次變更都自動記錄,大幅減少人工操作並降低遺漏或錯誤風險。但請注意:VBA 解決方案需使用者啟用巨集,並將檔案儲存為啟用巨集的格式().xlsm),且僅能在允許執行巨集的環境中運作。
請依照下列步驟,使用 VBA 程式碼實作自動時間戳記功能:
1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。
2. 在 VBA 視窗中,從左側的專案總管選取目標工作表,雙擊該工作表以開啟其程式碼視窗,並將下列 VBA 程式碼複製貼上至空白模組區域:
VBA 程式碼:儲存格變更時自動記錄日期與時間
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20250722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub

3. 輸入程式碼後,儲存變更並關閉 VBA 編輯器,返回 Excel 工作表。現在,每當您修改或在 B 欄儲存格中輸入新資料時,相鄰的 C 欄儲存格將自動更新為目前的日期與時間。
注意事項與提示:
- 自訂欄位:您可透過編輯腳本中的 Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)這一行,輕鬆調整用於監控變更的欄位。例如,只需將「B:B」依需求替換為其他欄位即可!
- 欄位偏移說明:程式碼行 xOffsetColumn = 1 決定了日期/時間值將填入哪一欄。調整此數字,即可讓時間戳記顯示在變更值欄位右側更遠的位置(例如,設為 2 表示間隔兩欄,3 表示間隔三欄,依此類推)。
- 刪除行為:若監控欄位中的值被刪除,相鄰儲存格內對應的時間戳記也會自動一併清除。
- 避免錯誤:請務必將活頁簿儲存為啟用巨集的格式()
.xlsm),並於開啟活頁簿時啟用巨集,以確保自動時間戳記功能正常運作。 - 相容性提醒:若巨集被停用,或在某些雲端版 Excel 平台(例如 Excel 網頁版)上,VBA 解決方案可能無法如預期運作。
此方法對大多數桌面版 Excel 使用者而言極為可靠,尤其適合需要保留稽核軌跡的中等規模資料集。若您希望採用不使用巨集的方式(例如更依賴公式或提升可及性)來取得時間戳記,請參閱以下所述的其他方法。
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用