В моей Excel-книге у меня есть QueryTable, который пользователь может обновить через Query-tab. Когда это происходит, мне нужно вызвать событие BeforeRefresh. Я не могу заставить это работать.
Я хочу вызвать событие BeforeRefresh, чтобы установить для параметра EnableEvents значение False. Это необходимо, поскольку в таблице есть триггер Worksheet_Change, который не должен запускаться при обновлении таблицы.
Триггер Worksheet_Change обновляет таблицу доступа, когда пользователь что-то изменяет в QueryTable.
Я использовал эту тему для настройки триггеров BeforeRefresh- и AfterRefresh, которые работают, как сказано в теме.
Обновить все, не вызывая событие QueryTable BeforeRefresh - почему?
Поэтому в основном мой вопрос заключается в том, как расширить этот метод с помощью функции BeforeRefresh при обновлении вкладки Query.
Мой код:
ThisWorkbook:
Option Explicit
Private Destination As New TestClass
Private Sub Workbook_Open()
Destination.Init ThisWorkbook.Sheets("Gemeenten").ListObjects(1).QueryTable
End Sub
TestClass:
Option Explicit
Private WithEvents qt As QueryTable
Public Sub Init(pQt As QueryTable)
Set qt = pQt
End Sub
Private Sub qt_BeforeRefresh(Cancel As Boolean)
MsgBox "BeforeRefresh"
End Sub
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
MsgBox "AfterRefresh"
End Sub