user1234
Goto Top

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:
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 

Content-ID: 144758

Url: https://administrator.de/contentid/144758

Ausgedruckt am: 22.11.2024 um 17:11 Uhr