我正在尝试自动生成 Excel 中来自不同用户的响应日期列。我已根据来自不同博客的一些研发更新了代码,但卡在一个地方。我的代码如下。同样能够在下一个单元格中记录单元格更改的日期。而且由于我只想要第一次更新的日期,所以它运行良好。但是,如果用户删除响应,日期仍然存在,因此“目标.偏移(0,1)。ClearContents”不起作用。请帮助更新代码。我对代码的要求总结如下:
- 它应该更新下一个单元格中单元格变化的日期(偏移量(0,1))
- 如果某个单元格发生多次更改,则仅记录第一次响应日期,并且不会覆盖之前的日期。
- 当用户删除回复时,日期也应被删除。
(代码将在约 2000 行的 Excel 中运行,并且约 10-20 个用户将访问该工作表。)
Dim xRg As Range, xCell As Range
On Error Resume Next
If (Target.Count = 1) Then
If Not Intersect(Target, Application.ActiveSheet.Range("U:U,W:W,Y:Y,AA:AA,AC:AC,AE:AE,AG:AG,AI:AI")) Is Nothing Then
Application.EnableEvents = False
For Each xCell In xRg
If VBA.IsEmpty(xCell.Value) Then
If Target.Offset(0, 1) = "" Then
Target.Offset(0, 1) = Now
End If
Else
Target.Offset(0, 1).ClearContents
End If
Next
Application.EnableEvents = True
End If
End If
End Sub