Anzeige
Archiv - Navigation
1612to1616
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 über Makro anpassen

Pivot über Makro anpassen
23.03.2018 10:07:47
Enrico
Hallo zusammen,
Ich benötige eine kleine Hilfe.
Ich werte eine größere Menge an Daten mit einer Piv Tabelle aus.
Um besser gruppieren zu können möchte ich einen Filter einsetzen.
Diesen Filter setze ich per Makro.
d.h. ein neues Pivo Feld bei Zeilen einfügen und dann den Filter darauf setzen.
Das ganze funktioniert auch sehr gut. Jetzt gibt es nur ein kleines Problem.
Ich muss die Filterkriterien zu bzw abschalten.
Ich kann mit meinem Makro im Moment vorher bekannte Parameter abschalten.
Wie mache ich das aber, wenn ich einen bestimmten Parameter zuschalten
und Alle anderen deaktivieren möchte ?
Das erklärt es vielleicht am ehesten.
Sheets("Test").Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("AAA")
.Orientation = xlRowField
.Position = 1
End With
On Error Resume Next
With ActiveSheet.PivotTables("PivotTable1").PivotFields("AAA")
.PivotItems("Param1").Visible = False
.PivotItems("Param2").Visible = False
.PivotItems("(blank)").Visible = False
End With
Ich haben einen neuen Parameter ("Paramxx") und möchte nur diesen sehen und alle anderen nicht. Somit muss ich also vorher bestimmen welche PivotItems ich auf False setzen muss.
Danke im Voraus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot über Makro anpassen
25.03.2018 22:14:06
fcs
Hallo Entico,
die Möglichkeiten sind abhängig von der Version der Pivot-Tabelle.
In neueren Versionen (ab Excel 2007?) kann man den Beschriftungsfilter direkt setzen.
In den älteren Versionen (bis Excel 2003?) muß man die Items einzeln ausblenden.
Es kommt jetzt aber nicht auf die Excelversion an sondern auf die Version des Pivotberichts, d.h. wenn der Pivotbericht in einer älteren Version erstellt wurde, dann hat man auch in einer neueren Excelversion nur die Makro-Möglichkeiten, die die älter Pivotversion zulässt.
Nachfolgend mein Vorschlag: Der gewünschte Filterwert kann hier per Input-Box eingegeben werden.
Sub Pivot_Feld_AAA_Parameter()
Dim pvTab As PivotTable, pvField As PivotField, pvItem As PivotItem, varParameter
Dim wks As Worksheet
Set wks = ActiveSheet  'Worksheets("Test")
wks.Activate
Set pvTab = wks.PivotTables(1) 'wenn Tabellen blatt nur einen Pivotbericht enthält
pvTab.RefreshTable
Set pvField = pvTab.PivotFields("AAA")
Select Case pvTab.Version
Case xlPivotTableVersion2000, xlPivotTableVersion10
'ältere Pivotabellen-Versionen
With pvField
varParameter = InputBox("Bitte Filterwert für Feld """ & .Name & """ eingeben", _
"Filterwert setzen", "Param6")
If varParameter = "" Then Exit Sub
.Orientation = xlRowField
.Position = 1
.ClearAllFilters
For Each pvItem In pvField.PivotItems
If pvItem.Name  varParameter Then pvItem.Visible = False
Next
End With
Case xlPivotTableVersionCurrent, Is > xlPivotTableVersion10
With pvField
varParameter = InputBox("Bitte Filterwert für Feld """ & .Name & """ eingeben", _
"Filterwert setzen", "Param6")
If varParameter = "" Then Exit Sub
.Orientation = xlRowField
.Position = 1
.ClearAllFilters
.PivotFilters.Add Type:=xlCaptionEquals, Value1:=varParameter
End With
End Select
End Sub
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige