Pivottabelle mit VBA erzeugen.
30.08.2007 13:05:07
Jan
der Franz hat mir schon sehr bei der Erstellung einer Pivottabelle via VBA geholfen. Nun ist meine Neugier geweckt da noch ein wenig tiefer in die VBA-Möglichkeiten-Höhle reinzukriechen.
Unten aufgeführt sind ColumnFields, PageFields und RowFields, die die Spaltenüberschriften aus der Tabelle1 in das dazugehörige Datenfeld der Pivottabelle zuordnet.
Kann ich auch die Daten für das Datenfeld auf diesem Weg erzeugen? Ich habe die Zeile Datafields:=Array(.PivotFields(6)) mal angehängt was allerdings nicht funktionierte aber vieleicht meine Idee verdeutlichen kann.
Ich möchte einfach die ersten 5 Variablen in die Column, Page und Row Felder verteilen und Variable 6 im Datenfeld anzeigen, da diese die Werte enthält.
Bei einer mögliche Lösung würden mich auch Formateinstellungen sehr interessieren (d.h. die Variablen im Datenfeld auf Anzahl, Summe oder Mittelwert setzen.
Hier ist das, was ich bisher (dank der Hilfe von Franz) hinbekommen habe.
Private Sub CommandButton1_Click()
Dim PivotTabelle As PivotTable
Dim wksPivot As Worksheet, Test As String
Set wksPivot = Worksheets("Tabelle1")
Set PivotTabelle = wksPivot.PivotTables("PivotTable2")
With PivotTabelle
.RefreshTable
.AddFields ColumnFields:=Array(.PivotFields(5)), _
PageFields:=Array(.PivotFields(1), _
.PivotFields(2), _
.PivotFields(3)), _
RowFields:=Array(.PivotFields(4))
End With
End Sub
Gruß
Jan