Filter in Userform #3
#1
Moin Leute mal wieder die Filter. Irgendwie komm ich nicht so ganz mit den klar  Huh
Anbei die Datei :21:

Ziel ist es einen "dynamischen" Filter zu haben. Also es soll am liebsten erst nach Spalte 14 gefiltert, dann Spalte 13 und dann Spalte 11 gefiltert werden. Im Prinzip wäre es am besten, wenn ich ein Text Eingabefeld habe und dann auf die bestimmen "Filter" klicken kann. Als Beispiel soll z.B. Spalte 14 nach B gefiltert werden und dann soll für Zeile 13 nur noch alles was mit B beginnt angezeigt werden. Ich hoffe es ist klar was ich meine. Ich denke die meisten werden es verstehen, wenn sie die Datei sehen. Einfach ein logischen Filter, der mir auch mehrere Auswahlmöglichkeiten gibt Blush

Bei Fragen bitte gerne! Sleepy


Angehängte Dateien
.xlsm   forum kopie.xlsm (Größe: 430,94 KB / Downloads: 5)
Top
#2
Wenn du den bereits vorhandenen Filter für Spalte 11 auch für die anderen Kombobox verwendest, hast du doch genau, was du suchst (Natürlich muss der Code in eine eigene Prozedur)
Wichtig ist dabei nur, dass wenn du Spalte14 filterst, der Code für die Kombobox "Spalte 11" erneut ausgeführt wird. Denn dann hast du in dieser Kombobox nur noch die Werte stehen, die nach Filterung von Spalte 14 überbleiben.

Weiters würde ich die Spalte 13 nicht mit Kontrollkästchen, sondern ebenfalls mittels Kombobox filtern, denn vielleicht kommt ja mal irgendwann ein Wert hinzu oder weg. Dann musst du dich nicht um ein zusätzliches Kontrollkästchen kümmern.

Zu guter letzt kannst du die Komboboxen nacheinander aktivieren, sprich Kombobox "Spalte13" wird erst aktiviert, wenn Spalte 14 gefiltert ist.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • elamigo
Top
#3
Sehr guter Tipp. Ja die Checkboxen müssen glaub echt leider weg, da gebe ich dir zu 100% recht!

ich habe schon versucht es derart mit den Comboboxen zu lösen, aber bin dran gescheitert. ich bekomme es nicht hin das in der 2. Combobox die richtigen Werte angezeigt werden.
Top
#4
Guckst du!

Du kannst auch die Combobox1 mittels Schleife befüllen wenn du willst, ich habe aber dafür jetzt mal die ursprüngliche Version dringelassen.


Angehängte Dateien
.xlsm   forum kopie.xlsm (Größe: 426,15 KB / Downloads: 3)
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • elamigo
Top
#5
WOW :19: 
tausend dank! 
es ist wirklich sehr sehr gut gemacht genau sowas habe ich gesucht.
Top
#6
nur noch eine Frage zum Verständnis, was hat es mit oDic14 auf sich?
finde dazu nichts auf google oder yt. 

Code:
Dim oDic14 As Object, meAr14
Dim A As Long

Set oDic14 = CreateObject("Scripting.Dictionary")
bzw. genau diese Stelle.
Möchte möglichst alles verstehen das du gemacht hast.
Top
#7
Nun könntest du dir noch neben jede Kombobox einen Button machen, um genau diesen Filter wieder aufzuheben.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • elamigo
Top
#8
Perfekt, noch eine kleine Zusatz- Frage oder Aufgabe.

Wenn ich z.b. nach E gefiltert habe, im 1. Filter. Besteht die Möglichkeit in der zweiten Kombobox, EE einzugeben und er filtert für Spalte 13 alle raus die mit EE beginnen?  :21:



EDIT: Geht es auch mit multiselect? 
Code:
Combox1.MultiSelect = fmMultiSelectMulti

dies gibt mir ein Fehler aus. Muss es über eine For Next Schleife laufen?
Top
#9
Ganz einfach, ergänze einfach bei den Combobx_Change-Einträgen das Suchkritierium mit einem Stern
Code:
Criteria1:=UserForm1.ComboBox2 & "*"

Wenn du nun bei den Komboboxen die Eigenschaft "MatchEntry" auf "2 - fmMatchEntryNone" setzt, dann kriegst du bei der Eingabe keine Autovervollständigen-Vorschläge und kannst direkt "EE" eingeben.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • elamigo
Top
#10
Sehr stark, klappt alles :) 
nur noch multiselect rein dann ist es perfekt
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste