Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1196to1200
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
Inhaltsverzeichnis

Pivot Tabelle per macro resetten

Pivot Tabelle per macro resetten
Thomas
Hallo Zusammen,
ich versuche nun seit knapp einen Tag mir zusammenzureimen, wie man eine Pivot-Tabelle resetten kann.
Bin damit aber grandios am scheitern. :-/
Damit meine ich, dass sämtliche Felder wieder in die Liste zurückgesetzt werden und ich mir neu meine Felder nach Bedarf zusammenziehen kann.
Der Sinn des ganzen soll sein, das ich eine Pivottabelle über mehere Macros nach verschiedenen Kriterien auswerten kann.
Um Missverständnissen vorzubeugen, es geht mir nicht darum Eigenschaften wie ALLE oder LEER einzublenden oder auszublenden, sondern Felder wie z.B. Kundenname, Itemname, Verfügbarkeit, etc immer wieder neu zusammen zu ziehen.
Danke für Eure Hilfe!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pivot Tabelle per macro resetten
10.02.2011 04:20:30
fcs
Hallo Thomas,
nachfolgend ein Beispiel zum Reset und neu konfigurieren von Pivottabellen.
Ich hoffe, dass ich in der Reset-Routine alle Sonderfälle erfasst habe. Aber bei Pivot-Tabellen unter VBA ist man nicht vor Überraschungen sicher.
Gruß
Franz
'Getestet unter Excel 2007
Sub aaTest()
Dim wks As Worksheet, pvTab As PivotTable
Set wks = ActiveSheet
If wks.PivotTables.Count > 0 Then
Set pvTab = wks.PivotTables(1)
Call PivotReset(pvTabelle:=pvTab, bolDatafields:=True)
'Pivottabelle neu konfigurieren
With pvTab
'Zeilenfelder
With .PivotFields("A")
.Orientation = xlRowField
.Position = 1
End With
'Spaltenfelder
With .PivotFields("C")
.Orientation = xlColumnField
.Position = 1
End With
'Datenfelder
.AddDataField .PivotFields("B"), "Summe von B", xlSum
End With
End If
End Sub
Sub PivotReset(pvTabelle As PivotTable, Optional bolDatafields As Boolean)
Dim pvField As PivotField, iIndex As Long
With pvTabelle
If bolDatafields = True Then
For iIndex = .DataFields.Count To 1
.DataFields(iIndex).Orientation = xlHidden
Next
End If
For Each pvField In .PageFields
pvField.ClearAllFilters
pvField.Orientation = xlHidden
Next
For Each pvField In .RowFields
If Not (pvField.Name = "Daten" Or pvField.Name = "Data") Then pvField.ClearAllFilters
pvField.Orientation = xlHidden
Next
For Each pvField In .ColumnFields
If Not (pvField.Name = "Daten" Or pvField.Name = "Data") Then pvField.ClearAllFilters
pvField.Orientation = xlHidden
Next
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige