На уровне рабочей книги может подойти событие SheetActivate - активизация любого листа (можно создать и событие для конкретного листа, если на нем одном нужно обновлять сводные).
Alt+F11, далее выбираем рабочую книгу и добавляем код для этого события (его можно выбрать в выпадающем списке).
Пробегаемся по коллекции сводных таблиц на активированном листе и обновляем кэш у каждой:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Pivo As PivotTable
For Each Pivo In Sh.PivotTables
Pivo.PivotCache.Refresh
Next Pivo
End Sub
