如果有人更改某些文字,我将使用以下代码更新日期。问题是如果我想插入更多行,因为我已将我的范围定义为“D9:D16”。
是否有办法使这段代码能够观察到插入的新行?
Private Sub Worksheet_Change(ByVal Target As Range)
'Hvis du på noget tidspunkt tilføjer flere rows, så sig til.
Application.EnableEvents = False
If Not Intersect(Range("D9:D16"), Target) Is Nothing Then
Target.Offset(, -2).Formula = "=UDF_Now()"
Select Case MsgBox("Er ""Updated by"" den rigtige?", vbYesNo)
Case Is = vbNo
Target.Offset(, -1).Activate
End Select
End If
Application.EnableEvents = True
End Sub
答案 0 :(得分:0)
Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).Row
可用于查找最后使用的行,因此一旦插入新行,结果将增加1。
所以尝试类似:
If Not Intersect(Range("D9:D" & Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).Row), Target) Is Nothing Then