我希望单元格 F4-F23 在单元格 E4-E23 中输入数据时自动填充今天的日期。然后我需要让单元格 I4-I23 在单元格 H4-H23 中输入数据时自动填充今天的日期。在单元格 H4-H23 中输入的数据将与在单元格 E4-E23 中输入的数据输入不同的日期。我发现此代码适用于我的问题的第一部分,我需要知道如何修改它以适用于单元格 H 和 I。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim E As Range, F As Range, Inte As Range, r As Range
Set E = Range("E:E")
Set Inte = Intersect(E, Target)
If Inte Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In Inte
r.Offset(0, 1).Value = Date
Next r
Application.EnableEvents = True
End Sub
答案1
尝试这个:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim E As Range, H As Range, Inte As Range, r As Range
Set E = Range("E:E")
Set H = Range("H:H")
Set Inte = Intersect(E, Target)
If Not Inte Is Nothing Then
Application.EnableEvents = False
For Each r In Inte
r.Offset(0, 1).Value = Date
Next r
Application.EnableEvents = True
End If
Set Inte = Intersect(H, Target)
If Not Inte Is Nothing Then
Application.EnableEvents = False
For Each r In Inte
r.Offset(0, 1).Value = Date
Next r
Application.EnableEvents = True
End If
End Sub
当交集为空时,不要退出子程序,而是检查空的反面,并在每个交集上分别运行代码。
注意,我将 H 声明为范围并删除了 F 作为范围的未使用的声明。