Come si crea tabella pivot con VBA?

November 12

Come si crea tabella pivot con VBA?


La creazione di tabelle pivot in Excel utilizzando Visual Basic, Applications Edition (VBA) consente di risparmiare tempo grazie al vostro non dover creare le tabelle manualmente. VBA è un linguaggio di programmazione utilizzato in applicazioni di Microsoft Office per automatizzare le attività di routine, come la creazione di una tabella pivot. Non spendere il vostro tempo a creare tabelle pivot manualmente se si dispone di molti fogli nella cartella di lavoro; invece creare una routine Sub per creare in modo dinamico.

istruzione

1 Avviare Microsoft Office Excel e digitare "clienti" in "A1", "voce" a "B1" e "Quantità" in "C1". Tipo "Jon" in "A2", "Jon" in "A3", "Clara" in "A4", "Clara" in "A5" e "Clara" in "A6". Tipo "soda" a "B2", "birra" in "B3", "soda" in "B4", "acqua" in "B5" e "birra" in "A6". Tipo "2" in "C2", "5" in "C3", "10" in "C4", "12" in "C5" e "15" in "C6".

2 Fare clic sulla scheda "Sviluppatore" e fare clic su "Visual Basic" per avviare l'editor di VB. Digitare il seguente codice per creare una nuova procedura secondaria VBA:

Private Sub createPivotTable ()

3 Creare le variabili che si intende utilizzare per creare la tabella pivot aggiungendo il seguente codice:

Dim pt As PivotTable

Dim wrkSht Come foglio di lavoro

Dim pvtSht Come foglio di lavoro

Dim PTCache Come PivotCache

Dim Prange come gamma

Dim finalRow As Long

Dim finalCol As Long

4 Definire i fogli di lavoro che si intende utilizzare:

Set wrkSht = Worksheets("Sheet1")

Set pvtSht = Worksheets ( "Sheet2")

5 Determinare il numero di riga e di colonna con i dati:

finalRow = wrkSht.Cells(Application.Rows.Count, 1).End(xlUp).Row

finalCol = wrkSht.Cells (1, Application.Columns.Count) .End (xlToLeft) .Column

6 Definire l'intervallo per i dati:

Set PRange = wrkSht.Cells(1, 1).Resize(finalRow, finalCol)

Set PTCache = ActiveWorkbook.PivotCaches.Add (SourceType: = xlDatabase, SourceData: = Prange)

7 Creare la tabella pivot in "Sheet2:"

Set pt = PTCache.createPivotTable(TableDestination:=pvtSht.Cells(1, 1), _

TableName: = "SamplePivot")

pt.ManualUpdate = True

8 Definire i dati di origine per la tabella pivot:

pt.AddFields RowFields:=Array("Item")

Con pt.PivotFields ( "Quantità")

.Orientation = XlDataField

.Function = XlSum

.position = 1

End With

pt.ManualUpdate = false

9 Terminate la sub digitando "End Sub" alla fine della procedura. Premere il tasto "F5" per eseguire la procedura e creare la tabella pivot utilizzando VBA.