Clever-Excel-Forum

Normale Version: Filter mehr als 2 Kriterien + "oder" + Wildcard
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo
ich suche nun schon seit einer Ewigkeit und bin jetzt schon langsam am verzweifeln.
Deswegen bräuchte ich eure Hilfe.

Ich habe eine Tabelle nach der ich Filtern will. (Autofilter Mode)

Ich hab nun inzwischen gelernt, das wenn ich Wildcards (*) verwende es nur mit zwei Suchbegriffen funktioniert auch wenn es in einem Array steht.
Code:
Dim nArray(2) As Variant
nArray(0) = "*aa*"
nArray(1) = "*ss*"
nArray(2) = "*nn*"
ActiveSheet.Range(Cells(2, 1), Cells(Rows.Count, 5)).AutoFilter Field:=3, Criteria1:=nArray, Operator:=xlFilterValues
Mit zwei Einträgen würde es funktionieren. Ich brauche aber eigentlich bis zu 10.
Dann soll nach einer "Oder" Funktion gefiltert werden. Also wenn z.B. in der 
Zeile A1 "Waas machst du da"
Zeile A2 "Dass ist aber nicht schön"
Zeile A3 "Kannst du mir mal helfen"
Zeile A4 "Hab dich"
Zeile A5 "nn,ss"
Dann soll der Filter mir die Zeile 1,2,3,5 anzeigen.

Es soll da Workarounds dafür geben aber ich habe einfach noch keinen richtigen gefunden. Vielleicht hab ich auch verkehrt gesucht.
Könnt ihr mir da helfen.

Gruß
herrm_no :22:
Hallo,

zeige doch mal deine Datei. Vermutlich kann man das mit dem Spezialfilter lösen. Allerdings habe ich deine Beschreibung des Problem nicht so wirklich verstanden.
Hallo Dieter,
danke erst mal für deine Antwort

Sag mir doch kurz was du daran nicht verstehst.
Vielleicht war es der Begriff Zeile A1 ich hab natürlich Zelle A1 damit gemeint
So gibt es die Datei nicht. Ich habe nur etwas einfacher Versucht mein Problem zu schildern.
Meine Datei sieht vom Inhalt ganz anders aus.
Aber als Attachment ein Bild, damit man versteht wonach ich so Filtern möchte.
Ich habe aktuell 1000 Zeilen mit Text Inhalt (so eine Art Datenbank) Diese will ich schnell mit den verschiedenen Kriterien (Bild) filtern um nur das zu sehen was ich aktuell benötige.
Und wie gesagt, wenn ich mehrere Filter anhake dann sind das "oder" Beziehungen

Gruß
herrm_no
Hi,

Dieter bat dich um die Datei, nicht um ein Bildchen. Du kannst deine Datei gerne anonymisieren; vom Aufbau her sollte sie aber unbedingt deinem Original entsprechen. Es reichen in der Regel auch einige wenige Datensätze.
Hallo,

z.B. so:
Sub myFilter()
   Dim dic     As Object
   Dim eleData As Variant
   Dim eleCrit As Variant
   Dim arrData As Variant
   Dim vTst    As Variant
   
   Set dic = CreateObject("Scripting.Dictionary")
   vTst = Array("*aa*", "*ss*", "*nn*")
   With Range(Cells(2, 1), Cells(Rows.Count, 5))
       arrData = .Value
       For Each eleCrit In vTst
           For Each eleData In arrData
               If eleData Like eleCrit Then dic(eleData) = vbNullString
           Next
       Next
       .AutoFilter Field:=3, Criteria1:=dic.Keys, Operator:=xlFilterValues
   End With
End Sub
Der Code ist abgewandelt von hier: https://www.mrexcel.com/forum/excel-ques...ost4414368

Gruß Uwe
Hallo Kuwer

danke das war genau der Ansatz den ich gebraucht habe.
Nun funktioniert es.
Auf das wäre ich alleine nie gekommen

Gruß :100: :19: