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