当我们在Excel中输入或更新数据时,有时需要自动添加一个时间戳,表示当前数据的最新更新时间。如下图所示,当在C列更新数据时,在D列自动加入更新时的时间。
可以用VBA代码来实现,实现步骤如下:
按Alt+F11,打开VBA编辑器。在“工程”窗口中双击“ThisWorkBook”,在右侧的代码窗口中粘贴下列代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name <> "Sheet1" Then Exit Sub
If Target.Column = 3 Then Target.Offset(0, 1) = Now
End Sub
这样,当“Sheet1”表C列单元格中的内容发生改变时,Excel会自动在D列同一行中的单元格中添加时间。
如果要将目标区域指定为C2:C20,可以用下面的代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name <> "Sheet1" Then Exit Sub
With Target
If .Column = 3 And .Row > 1 And .Row < 21 Then .Offset(0, 1) = Now
End With
End Sub
需要注意的是,当目标区域中的任意单元格内容发生改变,包括删除或更新数据时,都将触发Worksheet.SelectionChange 事件。
联系客服