我有一个跟踪电子表格,我希望单元格完成的日期自动填充到下一列中。我发现以下代码适用于第一列 (I:I),但我想将相同的代码添加到其他 5 列(即,当在 K1 中输入数据时,日期填充到 L1 中,当在 P1 中输入数据时,日期填充到 Q1 中)。
我以前从未使用过 VBA。我尝试过复制/粘贴代码并更改范围,但出现了模糊名称错误。我该如何更改名称以便可以重复使用代码?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range, B As Range, Inte As Range, r As Range
Set A = Range("I:I")
Set Inte = Intersect(A, 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 A As Range, B As Range, Inte As Range, r As Range
Set A = Range("I:I,K:K,P:P")
Set Inte = Intersect(A, 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
这将监视列我,钾, 和磷