Excel 2016 VBA自动时间插入

我在网上找了一个答案,但没有find任何帮助,我正在尝试做什么。 我希望在A列单元格被修改时,自动将时间input到B列的相应单元格中,这同样适用于列C和D.我不想要更新时间,这是我目前遇到的问题。 以下是我目前的代码:

Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Column = 1 Then Target.Offset(, 1) = Time ElseIf Target.Column = 3 Then Target.Offset(, 1) = Time End If Application.EnableEvents = True End Sub 

这种编码工作,但它更新了B和D列,这是我不想要的时间。 我可以添加什么来停止更新的时间?

谢谢<3

如果我正确理解你的问题,你只想更新时间,如果没有时间已经显示在相邻列? 在这种情况下,这应该工作:

 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Column = 1 Or Target.Column = 3 Then If Target.Offset(, 1) = vbNullString Then Target.Offset(, 1) = Now() End If Application.EnableEvents = True End Sub 

这符合加里的学生的答案,但加了条件并简化了一下代码。