VBA 日期由多列中的单元格修改

问题描述 投票:0回答:1

对 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

它会查看所有列,无论什么,但最重要的是,它不会在同一列中给出现在的日期,并明显地对其进行偏移。

excel vba formula
1个回答
0
投票

尝试类似以下代码:

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
© www.soinside.com 2019 - 2024. All rights reserved.