今天又实现了一个“梦寐以求”的功能:为Excel中创建的新记录自动添加时间戳。
虽然这是个简单需求,但是我却等了很久。
虽然代码不难,但是调试却花了我一个多小时,在此分享给所有有缘之人。
方法:
1. 首先要确保当前Excel文件的保存格式支持VBA(使用.xlsm或.xlsb格式)
2. 在VBE(在Excel中可使用快捷键ALT+F11打开VBE,即Visual Basic Editor)中,选择目标工作表,双击该工作表,将下图中黄色加亮的部分分别修改为“Worksheet”和"Change"。
3. 在代码区添加以下代码,注意,.Offset(0,5)表示要将时间戳添加到第6列,大家可根据实际需要进行修改。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count = 1 Then
If .Column = 1 Then
Application.EnableEvents = False
.Offset(0, 5).Value = IIf(.Value = "", "", Now)
UsedRange.Borders.LineStyle = xlContinuous
Application.EnableEvents = True
End If
End If
End With
End Sub