Questo tutorial dimostrerà come aggiornare una tabella pivot o tutte le tabelle pivot utilizzando VBA.
Le tabelle pivot sono uno strumento dati eccezionalmente potente di Excel. Le tabelle pivot ci consentono di analizzare e interpretare grandi quantità di dati raggruppando e riassumendo campi e righe.
Quando creiamo una tabella Pivot, i dati vengono archiviati in quella che è nota come cache della tabella Pivot. I dati vengono quindi archiviati nella memoria cache del PC che velocizza la tabella Pivot.
Se l'origine dati della tabella Pivot viene aggiornata, la tabella Pivot stessa non viene aggiornata. L'utente in Excel deve fare clic su Aggiorna tutto pulsante nella scheda Dati sulla barra multifunzione per aggiornare i dati di origine della tabella pivot.
In alternativa, possiamo scrivere macro in VBA che aggiorneranno i dati per noi!
Aggiorna tutte le connessioni dati
Il metodo più semplice per aggiornare i dati è utilizzare VBA per imitare ciò che Aggiorna tutto pulsante fa sulla barra multifunzione.
123 | Sub AggiornaConnessioni()ActiveWorkbook.RefreshAllFine sottotitolo |
Questo metodo aggiornerà tutte le connessioni a qualsiasi dato nella cartella di lavoro che hai attivo. Inoltre, non aggiornerà solo una singola tabella Pivot, ma aggiornerà più tabelle Pivot se ne hai più di una connessa a diversi set di dati.
Aggiorna tutte le tabelle pivot
Per aggiornare solo le tabelle Pivot nella nostra cartella di lavoro ma escludere qualsiasi altra connessione dati, possiamo usare un metodo chiamato Aggiorna tabella.
Se abbiamo più tabelle Pivot nella nostra cartella di lavoro, dovremmo scorrere tutte le tabelle Pivot per aggiornarle tutte. Per fare ciò, dichiariamo prima una variabile di tabella pivot e quindi creiamo un ciclo For Each per eseguire il ciclo di tutte le tabelle pivot nella cartella di lavoro attiva.
123456 | Sub RefreshPivotsOnly()Dim tblPivot come tabella pivotPer ogni tblPivot in ActiveWorkbook.PivotTablestblPivot.RefreshTableAvanti tblPivotFine sottotitolo |
Possiamo usare una macro simile per aggiornare le tabelle Pivot nel nostro Foglio attivo piuttosto che l'intera cartella di lavoro. Quindi eseguiremmo il ciclo delle tabelle Pivot nel Foglio attivo piuttosto che il Cartella di lavoro attiva.
123456 | Sub RefreshActiveSheetPivotsOnly()Dim tblPivot come tabella pivotPer ogni tblPivot in ActiveSheet.PivotTablestblPivot.RefreshTableAvanti tblPivotFine sottotitolo |
Questa macro sarebbe molto utile se avessimo un facile accesso ad essa sul nostro Foglio attivo. Per fare ciò, possiamo creare un pulsante sul foglio per eseguire la macro.
Aggiorna una tabella pivot
Se vogliamo solo aggiornare la tabella Pivot su cui stiamo lavorando e non tutte le altre tabelle Pivot nella cartella di lavoro, dobbiamo identificare la tabella Pivot specifica. Questo è ovviamente fintanto che conosci il nome della tabella Pivot, in questo caso Tabella pivot1.
123 | Sub RefreshOneTableActiveSheet.PivotTables("Tabella pivot1").Aggiorna tabellaFine sottotitolo |
Aggiornamento della cache della tabella pivot
Se abbiamo più tabelle Pivot nella nostra cartella di lavoro, ma utilizzano tutte gli stessi dati, possiamo aggiornare la cache della tabella Pivot invece di aggiornare la tabella Pivot effettiva. L'aggiornamento della cache aggiornerà automaticamente tutte le tabelle Pivot che utilizzano i dati contenuti nella cache.
123456 | Sub RefreshCache()Dim chPivot As PivotCachePer ogni chPivot in ActiveWorkbook.PivotCacheschPivot.RefreshSuccessivo chPivotFine sottotitolo |