对 vba 非常陌生,但我试图了解是否对 A 列或 D 列中的单元格进行了任何更改,以使当前日期显示在 F 列中。我发现了一些非常相似的内容,但只是浏览一下在范围列上,输出随“偏移”变化,导致 NOW 日期不保留在 F 列中。
视频参考:Excel 在输入数据时自动添加日期和时间戳,但在修改数据时不更改 (https://www.youtube.com/watch?v=23-RoK1p7tg)
所以我想做一些非常类似的事情,但是代码要浏览两列而不是一列,如视频中所示。在视频中,它仅检查 A2:A10 范围内的变化。我想检查范围,例如 A2:A10 和范围 D2:D10。
但是,我希望 NOW 日期仍放置在单个列(F 列)中,以便任一范围/列的更改都会更新此日期。
所以基本上,A 列或 D 列中的更改现在将显示在 F 列中。
这可能吗?如果可以的话,如何修改此代码?
我试过这个:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyDataRng As Range
Set MyDataRng = Range("A2:D10")
If Intersect (Target, MyDataRng) Is Nothing Then Exit Sub
On Error Resume Next
Target.Offset(0, 5) = Now
End Sub
它会查看所有列,无论什么,但最重要的是,它不会在同一列中给出现在的日期,并明显地对其进行偏移。
尝试类似以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyDataRng As Range
Set MyDataRng = Range("A2:A10,D2:D10")
If Intersect(Target, MyDataRng) Is Nothing Then Exit Sub
' On Error Resume Next
Cells(Target.Row, "F") = Now
End Sub