Excel 2010 - Pivot filter -> suche nach mehreren,

Hallo zusammen,

seid Excel 2010 (oder 2007?) hat man ja in Pivot, als auch in „normalen“ Tabellen die Möglichkeit nach einem klick auf den Filter im search feld nach einträgen zu suchen.
Habe ich z.B. eine Liste
Laptop 1
Laptop 2
Desktop 1
Desktop 2
Desktop 3
Server 1
Server 2
Server 3
und möchte nur die Desktops angezeigt bekommen, gebe ich einfach „Desktop“ in das Suchfeld des Filters der Pivot tabelle ein. Soweit so gut. Nutze ich dauernd!
Besteht auch die Möglichkeit nach „Desktop“ oder „Server“ zu suchen und sich entsprechend die Einträge anzeigen zu lassen?

mfG,
erdbrink

Hallo Erdbrink,

beim „normalen“ Autofilter in Tabellen kannst du unter Textfilter–> benutzerdefinierter Filter zwei per ODER verknüpfte Bedingungen angeben.

Beim Filter in Pivot-Berichten kannst du versuchen, durch Benutzung der Beschriftungsfilter mit den Bedingungen „enthält“, „enthält nicht“ und ggf. Verwendung der Wildcards ? und * Suchbedingungen zu kreieren, die mehrere Begriffe erfassen.

Suchbegriff ?e* findet zum Beispiel alle Geräte, die an der 2. Position ein „e“ haben - in deinem Beipiel also Destop und Server.

Gruß
Franz

Hallo Franz,

danke für deine Antwort. Leider bringt mir das so nichts:

Die Pivot listen haben hunderte / tausende Einträge, von denen ich ~10 auswählen muss. Diese stehen an unterschiedlichen Stellen in der Liste und haben komplett unterschiedliche Namen, wodurch ich viel scrollen und suchen muss.

Da es sich allerdings oft um die selben Einträge handelt, habe ich versucht dafür ein Macro aufzunehmen. Hierbei habe ich allerdings das Problem, dass das Macro nicht benötigte Einträge auf „.visable = False“ setzt, wodurch die listen sehr lang werden und ich die Fehlermeldung „procedure too large“ erhalte. Besteht die Möglichkeit mit einem Macro in Pivot Listen zuerst „alle“ Einträge auf False zu setzten und danach nur die benötigten mit „True“ anzugeben?

mfG,
erdbrink

Hallo erdbrink,
wie wäre es miteiner Hilfsspaltedie nach „Desktop“ und „Server“ sucht.

Gruß Holger

Hallo Erdbrink,

warum stellst du deine Frage nicht gleich etwas präziser?

Die Pivottabellen haben leider die unangenehme Eigenschaft, dass man nicht alle Items eines Feldes auf unsichtbar setzen kann und danach nur die gewünschten einblendet.

Es funktioniert nur umgekehrt. Erst alle einblenden (Filter zurücksetzen), dann alle unerwünschten ausblenden.

Das kann man per Makro in Schleifen erledigen.

Gruß
Franz

'Erstellt unter Excel 2010

Sub Filtern1()
 'Filterwerte in Array vorgeben
 Call Pivot\_Filter\_Setzen(pvTab:=Worksheets("Tabelle2").PivotTables(1), strField:="Name", \_
 arrWerte:=Array("Name05", "Name06", "Name12"))
End Sub


Sub Filtern2()
 'Filterwerte in Zellbereich vorgeben
 Call Pivot\_Filter\_Setzen(pvTab:=Worksheets("Tabelle2").PivotTables(1), strField:="Name", \_
 arrWerte:=Worksheets("Tabelle1").Range("C1:C10"))
End Sub

Sub Pivot\_Filter\_Setzen(pvTab As PivotTable, strField As String, arrWerte)
'
 Dim varItem, pvField As PivotField, pvItem As PivotItem, bolVisible As Boolean
 Dim StatusCalc As Long
 On Error GoTo Fehler
 pvTab.RefreshTable
 'Setzen des zu filternden Feldes
 Set pvField = pvTab.PivotFields(strField)
 With Application
 .ScreenUpdating = False
 StatusCalc = .Calculation
 .Calculation = xlCalculationManual
 .EnableEvents = False
 End With
 With pvField
 .ClearAllFilters
 For Each pvItem In .VisibleItems
 bolVisible = False
 For Each varItem In arrWerte
 If pvItem.Name = varItem Then
 bolVisible = True
 End If
 Next
 If bolVisible = False Then pvItem.Visible = bolVisible
 Next
 End With
Fehler:
 With Err
 Select Case .Number
 Case 0 'Alles OK
 Case Else
 MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
 End Select
 End With
 With Application
 .ScreenUpdating = True
 .Calculation = StatusCalc
 .EnableEvents = True
 End With
End Sub

Hallo Franz,

naja, meine präferierte Lösung wäre hat gewesen, Werte per „oder“ suche in der pivot tabelle zu suchen und damit eine allgemeine Lösung zu haben. Da dies nicht möglich ist kam ich erst nach deiner Meldung zu der „präziseren“ Frage.

Vielen Dank zumindest für deine Antwort. Diese ist für das aktuelle Problem sehr hilfreich.

Viele Grüße,
erdbrink

Hallo Holger,

danke auch für deine Antwort. Funktioniert in meinem Fall leider nicht, da die Rohdaten aus einer großen (mehrere GB) DB gezogen werden und erst nach einem doppelklick auf einen Wert sichtbar werden. Hierzu müsste ich erst alle Daten in xls laden, was aufgrund der Größe nicht möglich und praktikabel ist.

mfG,
erdbrink