Pivot-Tabelle mit Hilfe von VBA erstellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Label
Bild

Betrifft: Pivot-Tabelle mit Hilfe von VBA erstellen
von: Pauline K
Geschrieben am: 06.09.2015 12:54:24

Liebe Spezies,
ich kenne mich nicht besonders gut aus mit VBA (habe mich in einem Semester Wirtschaftsinformatik damit beschäftigt und bin froh gewesen, wenn überhaupt irgendwas funktioniert hat!), möchte aber nun mit Hilfe von VBA eine Pivot-Tabelle erzeugen. Diese soll wie folgt aussehen:
Count of PART Column Labels
Row Labels E O L Grand Total
P01
P02
P03
P04
P07
P10
P11
P12
(blank)
Grand Total
Die Daten sollen aus einem anderen Arbeitsblatt („Data“) gezogen werden und es sollen die Spalten „FAMILY_CODE“ (Ausgabe in Zeilenbeschriftung), „DELIVERY STATUS“ (Ausgabe in Spaltenbeschriftung) und „Count of PART“ (Ausgabe in Werte) aufgeführt werden.
Bisher habe ich den folgenden VBA-Code zusammengebastelt, der leider nicht funktioniert:
Sub CreatePivotTable()
Dim ptCache As PivotCache
Dim ptTable As PivotTable
Dim i As Integer
'Alle Pivottabellen des aktiven Blattes löschen
With ActiveSheet
For Each ptTable In .PivotTables
ptTable.TableRange2.Delete
Next ptTable
End With
'Neue Pivottabelle mit dynamischer Zeilenzahl erstellen
Set ptCache = ActiveWorkbook.PivotCaches.Add
(SourceType:=xlDatabase, SourceData:="Data!PART:DELIVERY_STATUS" & ActiveSheet.UsedRAnge.Rows.Count)
'Pivottabelle auf aktuellem TAbellenblatt erstellen
Set ptTable = ptCache.CreatePivotTable
(TableDestination:=ActiveSheet.Range("A1"), TableName:="MyPivotTable")

With ptTable
.PivotFields("Count of PART").Orientation = x1PageField
.PivotFields("FAMILY_CODE").Orientation = xlRowField
.PivotFields("DELIVERY_STATUS").Orientation = xlColumnField
.PivotFields("Total").Orientation = x1DataField
End With
Könnt ihr mir bitte helfen und sagen, woran es liegt? Wahrscheinlich habe ich die Quellen nicht richtig angegeben, oder? Ich habe aber leider überhaupt keine Idee wie ich das ändern muss, damit es funktioniert! Über jeden Tipp bin ich sehr dankbar!

Bild

Betrifft: AW: Pivot-Tabelle mit Hilfe von VBA erstellen
von: Daniel
Geschrieben am: 06.09.2015 13:17:11
Hi
probier mal bei SourceData folgendes:

SourceData:="Data!" & Sheets("Data").UsedRange.Address(1, 1, xlR1C1)
und bei TableDestination:
TableDestination:= ActiveSheet.Name & "!RC1"
mein Recorder sagt mir, dass hier die Zellbereiche bzw die Zielzelle als Zelladresse in R1C1-Schreibweise angegeben werden müssen.
Gruss Daniel

Bild

Betrifft: AW: Pivot-Tabelle mit Hilfe von VBA erstellen
von: Pauline K
Geschrieben am: 06.09.2015 15:39:02
Hallo Daniel,
vielen Dank für die schnelle Antwort! Ich habe es jetzt so versucht wie du es geschrieben hast, aber es funktioniert immer noch nicht. :(

Bild

Betrifft: AW: Pivot-Tabelle mit Hilfe von VBA erstellen
von: Daniel
Geschrieben am: 06.09.2015 15:48:18
Hi
dann kann ich dir jetzt auch nicht weiterhelfen, weil ich aufgrund fehlerender Daten deinen Code bei mir nicht laufen lassen kann, um selber rauszufinden, was genau nicht funktioniert.
ausserdem, Pivotabellen hab ich bisher auch immer nur von Hand erstellt, um rauszufinden wie das genau funktioniert, müsste ich auch immer den Recorder verwenden und das kannst du auch.
Gruss Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Pivot-Tabelle mit Hilfe von VBA erstellen"