我在工作表中有一些更改代码。如果在某个范围内发生了变化,而在其他单元格中发生了变化,则将显示日期。
这是为了跟踪最新更改。
这适用于我的工作表中的一个表,但是我有多个表,我也想这样做。 看到下面的代码我有一张桌子..
那么我如何将其扩展到同一张工作表中的多个表?
期待您的答复
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Set xRg = Intersect(Target, Range("DATASENDUR"))
If xRg Is Nothing Then Exit Sub
Range("B22").Value = Now()
End Sub
答案 0 :(得分:1)
请注意,您必须先禁用事件Application.EnableEvents = False
,然后再将其写入Worksheet_Change
事件中的单元格,否则它将一次又一次触发该事件……
您可以检查第二个范围,如下所示。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
'check changes in first range
Set xRg = Intersect(Target, Me.Range("DATASENDUR"))
If Not xRg Is Nothing Then
Application.EnableEvents = False 'prevent to trigger another Worksheet_Change event!
Me.Range("B22").Value = Now()
Application.EnableEvents = True
End If
'check changes in OTHER range
Set xRg = Intersect(Target, Me.Range("OTHERRANGE"))
If Not xRg Is Nothing Then
Application.EnableEvents = False 'prevent to trigger another Worksheet_Change event!
Me.Range("B25").Value = Now()
Application.EnableEvents = True
End If
End Sub