AW: Pivot via VBA erstellen
22.01.2018 02:25:36
fcs
Hallo Falcosn,
hier ein Grundgerüst.
Für Ergänzungen zeichnest die Aktionen ambesten mit dem Makro-Rekorder auf und baust es dann passend in mein Makro ein.
Gruß
Franz
Sub PivoterstellenTest()
Dim Bereich As Range
Dim wksData As Worksheet, wksPivot As Worksheet
Dim wkb As Workbook
Dim pvTab As PivotTable, pvField As PivotField
Set wkb = ActiveWorkbook
Set wksData = wkb.Worksheets("Bielefeld")
With wksData
Set Bereich = .Range(.Cells(4, 1), .Cells(10, 10))
End With
'leeres Tabellenblatteinfügen
Set wksPivot = wkb.Worksheets.Add(After:=wksData)
'Pivotberiht nlegen
Set pvTab = wkb.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:=Bereich).CreatePivotTable _
(TableDestination:="'" & wksPivot.Name & "'!R3C1")
With pvTab
'Berichtslayout in Tabellenformat anzeigen
.RowAxisLayout xlTabularRow
'Berichtsfeld einfügen
Set pvField = .PivotFields("SPa 02")
With pvField
.Orientation = xlPageField
.Position = 1
End With
'Zeilenfeld einfügen
Set pvField = .PivotFields("SPa 01")
With pvField
.Orientation = xlRowField
.Position = 1
End With
Set pvField = .PivotFields("SPa 04")
With pvField
.Orientation = xlRowField
.Position = 2
End With
'Spaltenfeld einfügen
Set pvField = .PivotFields("SPa 03")
With pvField
.Orientation = xlColumnField
.Position = 1
End With
'Feld im Datenbereih einfügen
Set pvField = .PivotFields("SPa 10")
.AddDataField pvField, "Summe von SPa 10", xlSum
Set pvField = .DataFields("Summe von SPa 10")
pvField.NumberFormat = "#,##0.0;-#,##0.0;0.0"
End With
End Sub