Мне нужно запустить макрос после того, как некоторые данные в таблице/сводной таблице обновляются. Моя таблица считывает данные из базы данных, поэтому я хочу, чтобы макрос запускался после обновления. Как мне это сделать с помощью VBA. Я пробовал следующее.Запуск макроса после обновления данных
Private Sub Worksheet_PivotTableUpdate(ByVal target As PivotTable)
Application.Run "overrideManagers" 'Is this right?
End Sub
Sub overrideManagers() 'Macro to be run upon refresh of data
MsgBox "Hello"
End Sub
Я не понимаю, чего ожидали. Я просто обновляю, но без MsgBox
. Даже если я переместил MsgBox
на это.
Private Sub Worksheet_PivotTableUpdate(ByVal target As PivotTable)
MsgBox "Hello"
End Sub
Получаю те же результаты. Это заставляет меня думать, что мой оригинальный метод обнаружения обновления неправильный. Есть идеи?
У вас есть код для события «Worksheet_PivotTableUpdate» на листе со сводной таблицей? Это, безусловно, работает для меня (второй фрагмент кода). – Ralph
Я согласен с @Ralph. Вероятно, у вас есть событие триггера на листе с исходными данными, а не с таблицей сводных данных. Ральф, я бы предложил вам разместить это как ответ. – nbayly