(20.03.2021, 11:05)Klaus-Dieter schrieb: Hallo Roy,
habe für dich mal ein alternatives Suchformular entwickelt, das über die gesamte Liste sucht, auch nach Textteilen. Die Treffer werden dann in einen Listenfeld angezeigt. Hier hönnte man (noch nicht eingebaut), dann eine Feinauswahl vornehmen. Diese Suche könnte man auch in dein Hauptformular intergrieren.
Hallo Klaus-Dieter,
vielen Dank, dass Du Dir das mal angesehen hast. Allerdings komme ich mit einer Freitextsuche überhaupt nicht dahin, wo ich hin möchte. Zur Erklärung: Diese Tabelle soll für meinen Arbeitsbereich (ESF-Förderung des Landes NRW) eine Zusammenfassung aller Regelungen ergeben, die sich in 5 Jahren angesammelt haben. Zur Zeit ist es so, dass es in dem Bereich viele Regelungsbereiche gibt, die u.a. mit Erlassen, Rechtsvorschriften, Einzelfallentscheidung ect. geregelt werden. Dabei gibt es schon die Probleme bei der Benennung einzelner Förderprogramme. Der eine Spricht von "Kommunale Koordinierung", ein andere von "KoKo", wieder ein andere von "Schulprogramm des Landes bei den Kommunen". Hier sieht man schon das Problem der "Freitextsuche", denn schon bei einem Begriff gibt es "mindestens" 3 unterschiedliche Benennungen. Und das ist nur ein Beispiel von vielen.
Aber trotzdem vielen Dank, denn Dein Code hat mir schon etwas weitergeholfen bei einem andern Problem mit meiner Tabelle.
Eigentlich hab ich ja schon eine Möglichkeit gefunden, was allerdings dazu führen würde, dass ich die "Eingabemaske" nochmals überarbeiten müsste. Denn die "If-Then"Schleife funktioniert ja soweit schon, wie du aus der Beispieltabelle ersiehst. Somit wäre die einfachste Lösung für jeden notwendigen Suchbegriff ein Spalte zu reservieren. Dann würde ich bei der Eingabe wir bei der bisherigen Eingabe einfach die gesamte Tabelle mit "ja" (und ergänzend mit "nein") füllen. Lediglich die wichtigen Felder "Regelung (Detail-Volltext) und Hinweis-Anmerkungen, sowie die Datumseingabe wären noch als übrig, wenn ich das Problem mit den Comboboxen nicht gelöst bekomme. Werde da nicht aufgeben und erstmal den u.a. Tipp weiter verfolgen.
Nochmals herzlichen Dank für Deine Mühe!
(20.03.2021, 12:11)schauan schrieb: Hallo Roy,
das mit dem Operator erklärt sich fast von selbst Die Zeile heißt ja komplett
Operator:=xlAnd
Du hast praktisch einen Filter UND einen zweiten ... In dem Fall bezieht sich das auf die zweite Spalte. Wenn Du das in weiteren Spalten fortsetzt, geht es im Prinzip immer so weiter.
Beim Aufzeichnen könntest Du auch mal ODER ausprobieren. Da kommt dann was in der Art raus für Beginnt mit A oder B:
ActiveSheet.Range("$A$1:$B$5").AutoFilter Field:=1, Criteria1:="=A*", _
Operator:=xlOr, Criteria2:="=B*"
Irgendwie macht er hier mit dem "Operator:=Or" genau das gleiche. Sobald diese Zeile aktiviert ist, funktioniert die Suche nicht mehr richtig.
Könnte es vielleicht daran liegen, dass ich in den darüberliegenden Anfragen im Code "immer" Criteria1 genommen habe? Es sind allein 32 anfragen über "if-Then", bei denen ich immer Criteria1 verwende. So würde ja immer das Criteria1 überschrieben, wobei es bis zur 32 Zelle kein Problem ist, da dort erst der Autofilter gesetzt und danach "Criteria1" überschrieben wird. Dann kommt die Checkbox und dann die die Comboboxen. Oben ist es zwar kein Problem, aber ich weiß es auch nicht genau.
Wenn ich die Codezeile richtig verstanden habe, ist die Variable Criteria1 nur dazu da, das Kriterium des Autofilters zu setzen. Sobald der Autofilter dann gesetzt ist, dürfte er doch überschrieben werden. Oder nicht?