这是用于记录包含数千条记录的电子表格中记录的更改日期。我感谢您的任何建议;我认为没有办法用公式做到这一点,但如果有可能,我更喜欢宏观。
谢谢。
答案 0 :(得分:2)
虽然您在问题中仅指定了第2行,但是您提到了数千行,因此我假设您希望宏适用于所有行,而不仅仅是第2行。以下内容将向行中的列Z添加日期戳发生了变化的地方。如果同时更改多个单元格,例如使用粘贴或删除操作,它也可以工作。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
If Not Intersect(Target, [A:Y]) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
For Each cel In Target
Range("Z" & cel.Row).Value = Date
Next cel
Application.EnableEvents = True
End If
End Sub
要安装,请右键单击工作表标签,单击查看代码,然后将上述内容粘贴到代码窗口中。
答案 1 :(得分:1)
将此添加到您拥有值的工作表代码中:
<强>编辑:强>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A2:Y2")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Range("Z2").Value = Date
End If
End Sub
这种方式一旦任何细胞在A2和A2之间的范围内。 Y2更改,Z2的值将在今天的日期更新。