Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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

PivotFields mit mehreren Ausdrücken Filtern

PivotFields mit mehreren Ausdrücken Filtern
29.07.2013 12:29:07
Marlene
Hallo,
ich möchte mit VBA verschiedene Elemente eines PivotFields Filtern (z.B. "ABC,DEF,HHH")
Um zunächst die einzelnen Werte zu bekommen, splitte ich erst mal per "Split" in ein Array auf.
Nun habe ich Probleme, das PivotField zu filtern.
Ich habe Probiert, das Array PivotField("xxx").CurrentPageList zu setzen, ging aber nicht, immer ein Objektorientierter Fehler.
Dann habe ich versucht, die einzelnen Werte durchzugehen und ggf. auf False zu setzen. Problem dabei ist, dass es sehr viele Einträge sind & das dauert dann recht lange.
Weiß jemand einen schnellen & einfachen weg, die Filter zu setzen? Danke!
Grüße,
Marlene

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PivotFields mit mehreren Ausdrücken Filtern
31.07.2013 19:55:07
fcs
Hallo Marlene,
ich hab probiert, ob man in Pivottabellen, die auf einer Exceltabelle basieren, die Filter (ähnlich wie beim Autofilter) drekt über ein Array setzen kann. Hab leider auch keine Lösung gefunden. Hier meine Lösung, die ich verwende, wenn ich bei den Filtern haüfig eine große Anzahl von Filterwerden für ein Element setzen muss.
Wichtig für die Geschwindigkeit sind hier die Deaktivierung der Bildschirmaktualisierung und der automatischen Berechnungen, Die Events sind nur relevant, wenn man in die Dateien noch Ereignismakros eingebaut hat, die durch die Änderungen an dem Pivotbericht gestartet werden.
Gruß
Franz
Sub aaTestPivot()
Dim pvtab As PivotTable
Dim pvField As PivotField, arrFilter, arrNewFilter()
Dim i2 As Integer, i3 As Integer, bolVisible As Boolean
Dim pvItem As PivotItem
'Array mit Filterwerten
arrFilter = Split("A002,A004,A009", ",")
Set pvtab = ActiveSheet.PivotTables(1)
Set pvField = pvtab.PivotFields("Feld02") 'Feldname anpassen
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
pvField.ClearAllFilters
pvField.EnableMultiplePageItems = True
For Each pvItem In pvField.PivotItems
bolVisible = False
For i2 = LBound(arrFilter) To UBound(arrFilter)
If pvItem.Name = arrFilter(i2) Then
bolVisible = True
Exit For
End If
Next i2
If bolVisible = False Then
i3 = i3 + 1
ReDim Preserve arrNewFilter(1 To i3)
arrNewFilter(i3) = pvItem.Name
End If
Next
For i3 = LBound(arrNewFilter) To UBound(arrNewFilter)
pvField.PivotItems(arrNewFilter(i3)).Visible = False
Next
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub

Anzeige
AW: PivotFields mit mehreren Ausdrücken Filtern
01.08.2013 10:56:01
Marlene
Vielen Dank!

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige