ich würde gerne eine Pivot Tabelle mittels eines Makros erstellen lassen.
Über den Makrorecorder habe ich folgenden Code ausgeworfen bekommen:
Sub Makro2()
' Makro2 Makro
Application.CutCopyMode = False
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"1. Auswertung!R3C1:R65C6", Version:=6).CreatePivotTable TableDestination:= _
"1. Auswertung Pivot!R1C1", TableName:="PivotTable4", DefaultVersion:=6
Sheets("1. Auswertung Pivot").Select
Cells(1, 1).Select
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Auftraggeber #")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Auftraggeber Name")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("PivotTable4").PivotFields("Auftraggeber #").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, _
False _
)
ActiveSheet.PivotTables("PivotTable4").PivotFields("Auftraggeber #"). _
LayoutForm = xlTabular
ActiveWindow.SmallScroll Down:=9
ActiveSheet.PivotTables("PivotTable4").PivotFields("Auftraggeber Name"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
_
False, False)
ActiveSheet.PivotTables("PivotTable4").PivotFields("Auftraggeber Name"). _
LayoutForm = xlTabular
ActiveWindow.SmallScroll Down:=-39
ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
"PivotTable4").PivotFields("Summe EUR"), "Summe von Summe EUR", xlSum
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Summe von 2018, Stck")
.Orientation = xlRowField
.Position = 3
End With
ActiveWindow.SmallScroll Down:=33
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub
Damit ich diesen Code komplett variabel gestalte, habe ich ein paar Kleinigkeiten daran verändert, sodass ich diese Tabelle sich variabel erstellen lassen kann. Der Code dazu sieht wie folgt aus: Dim Zeilenanzahl4 As Integer
Zeilenanzahl4 = Sheets(Eingabe2 & ". Auswertung").Cells(Rows.Count, 1).End(xlUp).Row
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
Eingabe2 & ". Auswertung!R3C1:R" & Zeilenanzahl4 & "C6", Version:=6).CreatePivotTable TableDestination:= _
Eingabe2 & ". Auswertung Pivot!R3C1", TableName:="PivotTable" & Eingabe2 + 2, DefaultVersion:=6
Sheets(Eingabe2 & ". Auswertung Pivot").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).PivotFields("Auftraggeber #")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).PivotFields("Auftraggeber Name")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).PivotFields("Auftraggeber Name"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).PivotFields("Auftraggeber Name"). _
LayoutForm = xlTabular
ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).PivotFields("Auftraggeber #").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)
ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).PivotFields("Auftraggeber #"). _
LayoutForm = xlTabular
ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).AddDataField ActiveSheet.PivotTables( _
"PivotTable" & Eingabe2 + 2).PivotFields("Summe EUR"), _
"Summe von Summe EUR", xlSum
ActiveSheet.PivotTables("PivotTable" & Eingabe2 + 2).AddDataField ActiveSheet.PivotTables( _
"PivotTable" & Eingabe2 + 2).PivotFields("Summe Stck"), _
"Summe von Summe Stck", xlSum
Jedoch funktioniert das Ganze leider nicht.
Zur Erläuterung: Eingabe2 ist lediglich eine Inputbox, in welcher irgendwelche Zahlen eingetragen werden.
Kann mir jemand vielleicht bei der Problematik helfen?