多个单元格的工作表宏

时间:2019-03-28 15:33:06

标签: excel vba

我在工作表中有一些更改代码。如果在某个范围内发生了变化,而在其他单元格中发生了变化,则将显示日期。

这是为了跟踪最新更改。

这适用于我的工作表中的一个表,但是我有多个表,我也想这样做。 看到下面的代码我有一张桌子..

那么我如何将其扩展到同一张工作表中的多个表?

期待您的答复

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

1 个答案:

答案 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