Pivot Tabelle erstellen,wo es in einem Bereich 2 Felder gibt
Mit VBA möchte ich eine Pivot-Tabelle erstellen.
Also habe ich ein Makro aufgezeichnet, während ich wie gewünscht meine Pivot-Tabelle erstellt habe. Dieses Makro funktioniert an sich auch.
Nur bei einem Bereich möchte ich mehr als 2 Felder haben. Dies habe ich auch bei der Aufnahme des Makros gemacht, nur wenn ich dann das Makro abspiele, erstellt er nur ein Feld je Bereich.
IST:
Berichtsfilter:
"leer"
Spaltenbeschriftungen:
Absender
Zeilenbeschriftungen:
Satz
Werte:
Anzahl von Fehler1-Code
SOLL:
Berichtsfilter:
"leer"
Spaltenbeschriftungen:
Absender
Zeilenbeschriftungen:
Satz
Fehler1-Code
Werte:
Anzahl von Fehler1-Code
Hier ist mein Code:
PS: In dem Quell-Tabellenblatt ist Fehler1-Code mit einem Zeilenumbruch eingetragen (falls dies eine Rolle spielt). Dies ist nicht änderbar.
Auf Ratschläge würde ich mich sehr freuen.
Gelöst!
Hier die Lösung:
Also habe ich ein Makro aufgezeichnet, während ich wie gewünscht meine Pivot-Tabelle erstellt habe. Dieses Makro funktioniert an sich auch.
Nur bei einem Bereich möchte ich mehr als 2 Felder haben. Dies habe ich auch bei der Aufnahme des Makros gemacht, nur wenn ich dann das Makro abspiele, erstellt er nur ein Feld je Bereich.
IST:
Berichtsfilter:
"leer"
Spaltenbeschriftungen:
Absender
Zeilenbeschriftungen:
Satz
Werte:
Anzahl von Fehler1-Code
SOLL:
Berichtsfilter:
"leer"
Spaltenbeschriftungen:
Absender
Zeilenbeschriftungen:
Satz
Fehler1-Code
Werte:
Anzahl von Fehler1-Code
Hier ist mein Code:
Sub test()
'
' test Makro
'
'
Cells.Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R1C1:R65536C39", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Tabelle4!R3C1", TableName:="PivotTable1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Tabelle4").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Absender")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Satz")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Fehler1-" & Chr(10) & "Code")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Absender")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Fehler1-" & Chr(10) & "Code"), "Anzahl von Fehler1-" & Chr(10) & "Code", _
xlCount
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Absender")
.PivotItems("(blank)").Visible = False
End With
End Sub
PS: In dem Quell-Tabellenblatt ist Fehler1-Code mit einem Zeilenumbruch eingetragen (falls dies eine Rolle spielt). Dies ist nicht änderbar.
Auf Ratschläge würde ich mich sehr freuen.
Gelöst!
Hier die Lösung:
Sub test()
'
' test Makro
'
'
Cells.Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R1C1:R65536C39", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Tabelle4!R3C1", TableName:="PivotTable1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Tabelle4").Select
Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Fehler1-" & Chr(10) & "Code"), "Anzahl von Fehler1-" & Chr(10) & "Code", _
xlCount
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Absender")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Satz")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Fehler1-" & Chr(10) & "Code")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Absender")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Absender")
.PivotItems("(blank)").Visible = False
End With
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 144758
Url: https://administrator.de/contentid/144758
Ausgedruckt am: 08.11.2024 um 21:11 Uhr