Come modificare la fonte di un tabella pivot di Excel utilizzando VBA

November 18

Come modificare la fonte di un tabella pivot di Excel utilizzando VBA


Microsoft Excel è un foglio di calcolo. Una caratteristica di questo programma è che è possibile utilizzare i suoi fogli di lavoro per memorizzare i dati in modo simile a come si farebbe in un database e quindi fare riferimento in visualizzazioni grafiche dinamiche. Ci sono due tipi di display che è possibile utilizzare: tabelle pivot e grafici pivot. Tabelle pivot possono essere utilizzati per ordinare, filtrare e sintetizzare i dati. L'unico modo per cambiare la fonte di dati utilizzata da una tabella pivot, una volta che è stato creato con la procedura guidata è di aggiornarlo dal codice VBA in background.

istruzione

1 Creare un oggetto di tabella pivot in VBA in modo da poter aggiornare l'origine. Copia il codice qui sotto e metterlo in funzione macro o.

Dim ptMyPivotTable Come pivot

2 Collegate il vostro oggetto di tabella pivot con la tabella pivot attuale. Copia il codice qui sotto.

Set ptMyPivotTable = ActiveSheet.PivotTables (1)

3 Aggiornare la proprietà SourceData del vostro oggetto tabella pivot per i nuovi valori. È possibile farlo copiando il codice VBA fornito. Sostituire il intervallo di dati desiderato al posto di "A1" nell'esempio.

ptMyPivotTable.SourceData = Range ( "A1") CurrentRegion.Address. (vero, vero, xlR1C1, True)

Per fare riferimento a un intervallo di un foglio diverso, è possibile utilizzare il seguente codice.

ptMyPivotTable.SourceData = Sheets ( "mySheetName"). [A1] .CurrentRegion.Address (vero, vero, xlR1C1, True)

4 Aggiornare i dati effettivamente visualizzati nella tabella pivot utilizzando il comando VBA qui sotto.

ptMyPivotTable.RefreshTable

5 Rilasciare le risorse utilizzate nel vostro oggetto di tabella pivot impostando uguale a niente.

Set ptMyPivotTable = Nothing

Consigli e avvertenze

  • È possibile avere i dati della tabella pivot aggiornare ogni volta che le modifiche ai dati attuali. Per fare ciò è sufficiente impostare il foglio di lavoro per calcolare automaticamente e aggiungere il comando RefreshTable alla funzione Worksheet_Calculate. Vedi il link nella sezione Risorse per ulteriori dettagli.