Nwlapcug.com


Come faccio a creare tabella di Pivot con VBA?



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 Long4

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).Column6

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 = True8

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 = False9

Finire il tuo sub digitando "End Sub" alla fine della routine. Premere "F5" per eseguire la procedura e creare la tabella pivot utilizzando VBA.