A chi scrive codice VBA può capitare l'esigenza di aggiornare le Tabelle Pivot (i Grafici Pivot si appoggiano anch'essi su Tabelle Pivot) dopo aver modificato i dati contenuti nei vari fogli.
Per prima cosa è utile sapere che le Tabelle Pivot si appoggiano su cache di dati e sono quindi queste ultime a dover essere aggiornate. Un modo molto semplice di aggiornare tutte le Pivot del Workbook (file) corrente è un ciclo che passi tutte le cache e ne esegua il Refresh.
Vi riporto di seguito il codice di una semplice Sub che inserita nel codice dell'oggetto ThisWorkbook implementa un metodo richiamabile dal vostro codice per "refreshare" (brutto inglesismo) tutte le Pivot.
Public Sub RefreshPivotTables()
Dim PT As PivotCache
For Each PT In ThisWorkbook.PivotCaches
PT.Refresh
Next
End Sub
Quindi nel vostro codice per richiamare il nuovo metodo sarà sufficiente scrivere:
ThisWorkbook.RefreshPivotTables
Alla prossima :-)
Aggiorna le tables ma non mi aggiorna i grafici pivot...
RispondiElimina