Creare tabelle pivot in Excel utilizzando Visual Basic per Applications Edition (VBA) può far risparmiare tempo a causa di non dover creare manualmente le tabelle. VBA è un linguaggio di programmazione utilizzato nelle applicazioni di Microsoft Office per automatizzare operazioni di routine come la creazione di una tabella pivot. Non spendere il vostro tempo a creare tabelle pivot manualmente se avete molti fogli nella cartella di lavoro; invece di creare una routine sub per crearle dinamicamente.
Istruzioni
1
Avviare Microsoft Office Excel e digitare "Cliente" in "A1", "Elemento" in "B1" e "Qty" in "C1". Digitare "Jon" in "A2", "Jon" in "A3", "Clara" in "A4", "Clara" in "A5," e "Clara" in "A6". Digitare "soda" in "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" "C5", e "15" in "C6".
2
Scegliere la scheda "Sviluppo" e fare clic su "Visual Basic" per avviare l'Editor di Visual Basic. Digitare il codice seguente per creare una nuova routine sub VBA:
Private Sub CreatePivotTable
3
Creare le variabili che si utilizzerà per creare la tabella pivot aggiungendo il codice seguente:
Dim pt As PivotTable
Dim wrkSht As Worksheet
Dim pvtSht As Worksheet
Dim PTCache As PivotCache
Dim PRange As Range
Dim finalRow As Long
Dim finalCol As Long
4
Definire i fogli di lavoro che si utilizzerà:
Set wrkSht = Worksheets("Sheet1")
Set pvtSht = Worksheets("Sheet2")
5
Determinare il numero di riga e 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 vostri 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 "Foglio2:"
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")
With pt.PivotFields("Qty")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
End With
pt.ManualUpdate = False
9
Finire il tuo sub digitando "End Sub" alla fine della routine. Premere "F5" per eseguire la procedura e creare la tabella pivot utilizzando VBA.