如果A2和Y2之间的任何单元格被更改,我想在单元格Z2中input今天的date

这是为了在包含数千条logging的电子表格中logging更改date。 我感谢您可能有的任何build议; 我可以想象没有办法用一个公式来做到这一点,但是如果可能的话,我更喜欢这个macros。

谢谢。

尽pipe在问题中仅指定了第2行,但是您提到了成千上万的行,所以我假设您希望macros可以用于所有行,而不仅仅是第2行。以下操作将在行Z中向更改行添加date戳发生。 如果多个单元格同时更改(例如,通过粘贴或删除操作),它也可以工作。

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 

要安装,请右键单击工作表选项卡,单击查看代码 ,然后将上面的代码粘贴到代码窗口中。

将其添加到您具有值的工作表的代码中:

编辑:

 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和Y2之间的任何单元格发生变化,Z2的值就会随着今天的date更新。