Anzeige
Archiv - Navigation
1508to1512
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Pivot Tabelle beliebige Felder anpassen
23.08.2016 10:57:57
dove89
Hallo alle zusammen,
Ich erstelle viele Pivot-Tabellen aus der gleichen Arbeitsmappe aber mit unterschiedlichen Werten, folglich heißt jede Pivot-Tabelle anders und hat andere Felder.
Bei einigen Tabellen muss ich allerdings eine Gruppierung vornehmen und anschließend immer in der gleichen Reihenfolge die Werte in die Pivot-Feldliste reinziehen.
Der Makro Recorder zeigt mir das:
Range("A2:A6").Select
Selection.Group
With ActiveSheet.PivotTables("PivotTable6").PivotFields("Reporter")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable6").AddDataField ActiveSheet.PivotTables( _
"PivotTable6").PivotFields("Reporter"), "Anzahl von Reporter", xlCount
Kann mir jemand sagen, wie ich ihn umschreiben muss, damit ich es für jede beliebige Pivot-Tabelle nutzen kann?
Vielen Dank im Voraus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot Tabelle beliebige Felder anpassen
24.08.2016 06:18:01
fcs
Hallo Dove89,
hier 2 Varianten
Gruß
Franz
Sub PivotGroupReporter_Tab_1()
'Bearbeitet die 1. Pivottabelle auf dem aktiven Tabellenblatt
Dim pvTab As PivotTable, pvField As PivotField
Set pvTab = ActiveSheet.PivotTables(1)
If MsgBox("Pivottabellenbericht " & pvTab.Name & " jetzt groupieren?", _
vbOKCancel, "Pivot-Tabelle groupieren") = vbCancel Then Exit Sub
With pvTab
Set pvField = .RowFields(1)
pvField.LabelRange.Range("A2:A6").Group
With .PivotFields("Reporter")
.Orientation = xlColumnField
.Position = 1
End With
pvTab.AddDataField pvTab.PivotFields("Reporter"), "Anzahl von Reporter", xlCount
End With
End Sub
Sub PivotGroupReporter_Selection()
'Bearbeitet die Pivottabelle auf dem aktiven Tabellenblatt in der momentan eine Zelle  _
selektiert ist
Dim pvTab As PivotTable, pvField As PivotField
Dim rngSelection As Range
Set rngSelection = Selection
For Each pvTab In ActiveSheet.PivotTables
If Not Intersect(rngSelection, pvTab.TableRange2) Is Nothing Then
If MsgBox("Pivottabellenbericht " & pvTab.Name & " jetzt groupieren?", _
vbOKCancel, "Pivot-Tabelle groupieren") = vbCancel Then Exit For
With pvTab
Set pvField = .RowFields(1)
pvField.LabelRange.Range("A2:A6").Group
With .PivotFields("Reporter")
.Orientation = xlColumnField
.Position = 1
End With
pvTab.AddDataField pvTab.PivotFields("Reporter"), "Anzahl von Reporter",  _
xlCount
End With
End If
Next
End Sub

Anzeige
AW: Pivot Tabelle beliebige Felder anpassen
24.08.2016 08:35:07
dove89
Hallo Franz,
Danke erst einmal für deine Antwort.
Tut mir leid, ich glaube ich hab mich nicht gut genug bei meiner Problembeschreibung ausgedrückt.
Das Feld "Reporter" war ein beliebieger Feldname. Dieser Name kann durchaus variieren.Deshalb brauch ich ein Makro das Namen-unabhängig funktioniert.
Geht so etwas?
Gruß Dove
AW: Pivot Tabelle beliebige Felder anpassen
24.08.2016 11:29:13
dove89
Hallo Franz,
ich habe es für meine Verhätnisse weitesgehend gelöst, hab aber noch ein kleines Problem. Vielleicht weißt du Bescheid.
Meine momentante Lösung für mein Problem hab ich so gemacht.
Pivot Feld 1 kommt in Feld Spaltenbereich, Pivot Feld 2 in Zeilenbereich und dann noch Feld 1 in den Summenbereich. Nur hier hab ich noch Probleme.
With ActiveSheet.PivotTables(1).PivotFields(2)
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables(1).PivotFields(1)
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables(1).PivotFields(1)
?
?
Wie geht es hier weiter?
Viele Dank im Voraus
Anzeige
AW: Pivot Tabelle beliebige Felder anpassen
28.08.2016 18:39:09
fcs
Hallo Dove,
für das Hinzufügen eines Feldes zum Datenbereich sieht es etwa wie folgt aus.
Gruß
Franz
Sub PivotGroupReporter_Tab_1()
'Bearbeitet die 1. Pivottabelle auf dem aktiven Tabellenblatt
Dim pvTab As PivotTable, pvField As PivotField
Set pvTab = ActiveSheet.PivotTables(1)
If MsgBox("Pivottabellenbericht " & pvTab.Name & " jetzt groupieren?", _
vbOKCancel, "Pivot-Tabelle groupieren") = vbCancel Then Exit Sub
With pvTab.PivotFields(2)
.Orientation = xlRowField
.Position = 2
End With
With pvTab.PivotFields(1)
.Orientation = xlColumnField
.Position = 1
End With
pvTab.AddDataField pvTab.PivotFields(1), "Summe von " & pvTab.PivotFields(1).Name,  _
xlSum
'        pvTab.AddDataField pvTab.PivotFields(1), "Anzahl von " & pvTab.PivotFields(1).Name,  _
xlCount
Set pvField = pvTab.RowFields(1)
pvField.LabelRange.Range("A2:A6").Group
End Sub

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige