Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column = 4 Then ' D 列修改時
With Cells(Target.Row, 6) ' F 列寫入時間
.NumberFormatLocal = "m-d" ' 顯示 月-日,如 01-15
.Value = Now
End With
End If
End If
End Sub
Target.Count = 1:僅單儲存格編輯觸發,避免批量操作誤觸發。Target.Column = 4:監視 D 列(第 4 列)。.NumberFormatLocal = "m-d":設置儲存格顯示格式,不影響底層日期值。常用格式:
"yyyy-m-d":2024-1-15"mm-dd":01-15"hh:mm:ss":14:30:05.Value = Now:寫入當前日期時間(含秒),顯示按格式截取。
Application.EnableEvents = False
Cells(Target.Row, 6).Value = Now
Application.EnableEvents = True
若該宏會觸發其他 Change 事件,需暫時關閉事件。