макрос листа для нескольких ячеек - PullRequest
0 голосов
/ 28 марта 2019

У меня есть небольшой код для изменения на листе.если в диапазоне что-то меняется, чем в другой ячейке, появится дата.

это для отслеживания последних изменений.

это работает для одной таблицы в моем листе, но у меня несколькотаблицы, для которых я хочу сделать то же самое.см. ниже код, который у меня есть для одной таблицы ..

так как я могу расширить это для нескольких таблиц на одном листе?

с нетерпением жду вашего ответа

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 Ответ

1 голос
/ 28 марта 2019

Обратите внимание, что вы должны отключить события 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...