Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Filtern mehrerer Werte mittels Kontollkästchen

Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 11:48:00
Mario
Hallo Forumsgemeinde,
da meine VBA-Kentnisse noch sehr bescheiden sind (habe erst vor kurzem damit begonnen) möchte ich mich gerne mit folgendem Problem an euch wenden.
Habe eine Userform mit mehreren Kontrollkästchen gemacht. Damit möchte ich gerne verschiedene Filterkriterien aus verschiedenen Spalten auswählen können. ZB.
Kontrollkästchen 1: Projektnummer 1 - Wert in Spalte A
Kontrollkästchen 2: Vor- Nachname - Wert in Spalte B
usw.
können auch mehrere Kontrollkästchen mit Werten aus Spalte A od. B sein.
Punkt 1
Möchte nun folgendermaßen vorgehen. Wenn Kontrollkästchen 1 aktiviert und Wert in Zeile übereinstimmt soll er in Spalte C zB "1" reinschreiben, dann kann ich in Spalte C alle werte mit 1 Filtern. Wenn Kontrollkästchen 2 aktiviert ist und in Spalte C noch kein Wert vorhanden ist, dann soll er ebenfalls "1" reinschreiben. Wenn in Spalte C bereits die "1" vorhanden ist soll er diese belassen (falls übereinstimmende Werte in beiden Spalten)
Weiß nich ob das ganze auch ohnen zus. Spalte C funktioniert - Filter gleich über VBA Code?
Punkt 2
Habe eine Liste mit ca 1000 Zeilen. Möchte nun das er oben genannte Argumente bis zur letzten Zeile prüft und ggf. eine 1 reinschreibt (nehme mal an das geht mit einer Schleife - weiß nur nicht wie das funkt.)
Somit könnte ich über die Kontrollkästchen die ganze Liste kreuz und quer filtern, je nachdem welche Kriterien ich vorgebe.
Ich hoffe es ist halbwegs verständlich wie ich das meine. Falls es Fragen zu meinem Problem gibt, bitte einfach melden (solche Probleme schriftlich zu erklären ist meist wesentlich schwieriger als mündlich) ansonsten danke ich euch schon im Voraus für alle Antworten.
mfg
Mario

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 13:46:00
Daniel
Hi
die Frage ist, kannst du dein Problem im Prinzip auch ohne Makros über den Autofilter lösen?
Wenn ja, ist es kein Problem, den Autofilter auch über Makro anzusteuern.
Lass einfach mal den Recorder mitlaufen, dann siehst du, wie das geht.
Gruß, Daniel

AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 14:12:00
Mario
Hallo Daniel,
danke für deine rasche Antwort. Wie der Autoofilter über VBA funktioniert weiß ich schon (wenigstens etwas - lol). Leider funktioniert das ganze aber über Autofilter nicht. Das Problem ist, dass ich mehr als 2 Filterkriterien pro Spalte habe (können auch 10 sein).
Hatte das ganze bis dato so gelöst, dass ich in einer anderen Liste die Kriterien für die Kontrollkästchen hinterlegt habe und wenn ich das Kontrollkästchen aktiviert habe hat er dort eine 1 reingeschrieben. Mittels sverweis hat er die 1 dann in der richtige Liste in einer eigenen Spalte hinterlegt. Dann kann man auch mit mehr als 2 Filterkriterien in einer Spalte arbeiten.
Jetzt möchte ich aber die Auswahl mittels Kontrollkästchen noch wesentlich erweitern und Punkt 1 nicht für jedes Kriterium einen eigenen Eintrag in der anderen Liste machen und Punkt 2 betreffen die Filterkriterien jetzt nicht nur eine sondern mehrere Spalten.
Im Prinzip soll das Maximum an übereinstimmenden Kriterien angezeigt werden. Denke mal das müsste auch anders gehen (hoffe ich zumindest).
Falls du oder jemand anderer eine Lösung parat hat, wäre ich sehr dankbar.
mfg
Mario

Anzeige
AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 14:24:00
Daniel
HI
okay, wenns mehr als 2 Bedingungen pro Spalte sind, wirds natürlich schwierig mit dem Autofilter.
ich könnte mir folgende Lösung vorstellen
- das Makro schriebt die Filterbedingungen in einen bestimmten Zellbereich auf einem andern Blatt, bzw löscht diese da wieder raus, wenn sie nicht mehr gelten.
- in der Spalte C fügst du dann für alle Zellen die ZÄHLENWENN-Funktion ein, um zu prüfen, ob der Wert aus Spalte A oder B in deiner Hilfstabelle vorhanden ist.
- Dann kannst du die Spalte C nach werten >0 per Autofilter filtern.
Ansonsten bliebe nur der Spezialfilter, mit dem sowas möglich ist.
Gruß, Daniel

Anzeige
AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 14:24:29
Mario
Hallo nochmal,
habe noch vergessen, dass der sverweis, dann leider auch nicht mehr funktioniert, da das Suchkriterium immer aus verschiedenen Spalten kommen kann.
mfg
Mario

AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 14:27:00
Daniel
Hi
wenn du meine Lösung mit Zählenwenn anstelle von SVERWEIS verwendest, kannst du das lösen, in dem du mehrere Zählenwenn zusammenaddierst.
Gruß, Daniel

AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 17:13:00
Mario
Hallo Daniel,
danke nochmals für deine Antworten. Denke mal, dass soweit ich das verstehe, dein Lösungsansatz für mich ein wenig zu kompliziert wird.
Müsste praktisch jedes Filterkriterium auslesen und danach in eine eigenes Blatt schieben und danach noch eine Zählenwenn-Funktion einbauen. Bin noch immer der Meinung, dass das ganze auch einfacher gehen muss.
Um es so quasi mit einer Formel aufzuschreiben:
Berechnete Zelle = C1:
Wenn(A1=Wert aus KontrollkästchenA;1;wenn(C1=1;1;wenn(B1=Wert aus KontrollkästchenB;1;"")
Nur handelt es sich hierbei um einen Zirkelbezug und mit IF Else in VBA kenne ich mich auch noch nicht wirklich so aus. Würde mich freuen, wenn es einfacher gehen würde.
mfg
Mario

Anzeige
AW: Filtern mehrerer Werte mittels Kontollkästchen
24.11.2007 17:59:00
Mario
Sorry, habe vergessen das Frage noch offen Häckchen anzukreuzen.

fast geschafft - Schleife fehlt noch
24.11.2007 19:33:08
Mario
Hallo zusammen,
habe es fast geschafft nur die Schleife fehlt mir noch und ich komm nicht hin
Range("R2").Select
If ActiveCell.Value = 1 Then
ActiveCell.Value = 1
Else: If ActiveCell.Value = "" Then ActiveCell.FormulaR1C1 = _
"=IF(RC[-10]=""Projekt XY"",1,"""")"
End If
Oben genannten Code soll er nun bis ans Ende der Liste durchlaufen. Weiß nich ob das mit einer loop until Anweisung funktioniert.
Do
Code oben
loop until Spalte A = leer
oder so ähnlich
Wenn mir da noch jemand helfen könnte wäre ich total happy.
mfg
Mario
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige