我是一个新手编码器,最近正在脱离基于Web的编码,并且与我的脚本有错误。我已经可以看出,这是很糟糕的脚本,并想知道我是否可以得到任何帮助。上次修改后跟踪的基本IF声明错误
该脚本只是假设在该范围内的任何单元格发生更改后,将等效偏移单元格设置为当前时间和日期。我相信我的可怜的脚本要么导致循环或计算错误的信息,因为事件发生后excel崩溃。
任何帮助将不胜感激。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E5:E100")) Is Nothing Then
Target.Offset(0, 3) = Now()
Target.Offset(0, -1) = Target.Offset(0, -1).Value + 1
Else
If Intersect(Target, Range("F5:F100")) Is Nothing Then Exit Sub
Target.Offset(0, 2) = Now()
Target.Offset(0, -1) = Target.Offset(0, -1).Value + 1
End If
End Sub
基本上,我的目标是我有两列,“E5:E100”和“F5:F100”。每当这些列中的任何一个被更新时。我希望通过更新第三列(在这种情况下的列H)来反映它被修改的当前时间和日期。第二个“Target.Offset(0,-1)= Target.Offset(0,-1).Value + 1”是我在任何时候在“迭代跟踪器”上的尝试,这个值会改变。迭代进行一次。 –
哦。问题是Offset(0,-1)如果由于F列的更改而被解雇,将写入E列 - 这听起来可能不是您想要的? – CLR
你说得对,当我第一次创建脚本时,我相信这是我的一个疏忽。 –