Wie kann ich eine Pivot-Tabelle mit VBA erstellen?

November 25

Wie kann ich eine Pivot-Tabelle mit VBA erstellen?

Erstellen von Pivot-Tabellen in Excel mithilfe von Visual Basic für Applikationen (VBA) können Sie sparen Zeit aufgrund Ihrer nicht die Tabellen manuell zu erstellen. VBA ist eine Computer-Programmiersprache, die in Microsoft Office-Anwendungen zur Automatisierung von Routineaufgaben wie Erstellen einer Pivottabelle verwendet. Verbringen Sie nicht Ihre Zeit, Pivot-Tabellen manuell erstellen, wenn Sie viele Blätter in Ihrer Arbeitsmappe haben; Stattdessen erstellen Sie eine Sub-Prozedur, um dynamisch zu erstellen.

Anweisungen

1 Starten Sie Microsoft Office Excel und geben Sie "Kunde" in "A1", "Item" in "B1" und "Menge" in "C1." Geben Sie "Jon" in "A2", "Jon" in "A3", "Clara" in "A4", "Clara" in "A5" und "Clara" in "A6." Geben Sie "Soda" in "B2", "Bier" in "B3", "Soda" in "B4", "in"B5"und"Bier"in"A6."Wasser" Geben Sie "2" in "C2", "5" in "C3" "10" in "C4", "12" in "C5" und "15" in "C6."

2 Klicken Sie auf die Registerkarte "Entwicklertools" und klicken Sie auf "Visual Basic", der VB-Editor zu starten. Geben Sie den folgenden Code zum Erstellen einer neuen VBA-Sub-Prozedur:

Private Sub createPivotTable()

3 Erstellen Sie die Variablen, die Sie verwenden, um die Pivot-Tabelle erstellen, indem Sie den folgenden Code hinzufügen:

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

Definieren Sie die Arbeitsblätter, die Sie verwenden möchten:

Set wrkSht = Worksheets("Sheet1")

Set pvtSht = Worksheets("Sheet2")5

Bestimmen Sie die Anzahl Zeilen und Spalten mit Daten:

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

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

Definieren Sie den Bereich für Ihre Daten:

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

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

Erstellen die Pivot-Tabelle in "Tabelle2:"

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

TableName:="SamplePivot")

pt.ManualUpdate = True8

Definieren Sie die Quelldaten für die Pivot-Tabelle:

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

With pt.PivotFields("Qty")

.Orientation = xlDataField

.Function = xlSum

.Position = 1

End With

pt.ManualUpdate = False9

Beenden Sie Ihre Sub durch Eingabe von "End Sub" am Ende der Prozedur. Mit "F5" führen Sie die Prozedur und Erstellen der Pivot-Tabelle mit VBA.