Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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
Inhaltsverzeichnis

Userform Listbox nur bestimmte einträge

Userform Listbox nur bestimmte einträge
14.12.2021 05:20:13
Thomas
Hallo zusammen,
bezugnehmend auf diesen Thread hier https://www.herber.de/forum/cgi-bin/callthread.pl?index=1859411
hänge ich noch bei dem Thema das die Listbox sowohl nach dem Jahr (wird über die Combobox ausgewählt) aber auch nach dem "Status" offen/erledigt gefiltert werden soll.
Nach dem Jahr über die Combobox klappt das danke der Hilfe von Uwe und Yal, allerdings steh ich mir auf dem Schlauch wie ich da zusätzlich noch den "Status" abfragen kann der über die beiden optionsfelder gesetzt wird.
Wenn "Erledigt" ausgewählt wird sollen nur die Angezeigt werden die in Checkbox15=Tue sind, bei offen die in Checkbox15=False.
https://www.herber.de/bbs/user/149795.xlsm
Danke

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Listbox nur bestimmte einträge
14.12.2021 07:25:36
ralf_b
Moin,
ich rate dazu dein Userform-Handling zu überdenken. Einen der beiden Optionbutton, solltest du in initialize auf true setzen. Und in Spalte 42 Sollte immer ein Wert drin stehen. Wenn die Zelle leer ist wird falsch gefiltert.

If Not UCase(Me.ListBox1.List(zeile, 2)) Like UCase(Me.ComboBox12) & "*" And UCase(Me.ListBox1.List(zeile, 41))  UCase(OptionButton1) Then
ListBox1.RemoveItem (zeile)
End If

AW: Userform Listbox nur bestimmte einträge
15.12.2021 05:49:18
Thomas
Hallo Ralf,
erstmal vielen Dank, ich habe den OptionsButton2 im initialize auf True gesetzte und die Spalte 42 komplett mit Werten gefüllt, aber der Filter scheint nicht zu funktionieren. Egal welcher OptionsButton gesetzt ist es werden immer alle Daten des jeweiligen Jahres angezeigt, bzw. die Jahre auch teilweise falsch gefiltert...
https://www.herber.de/bbs/user/149812.xlsm
MFG
Anzeige
AW: Userform Listbox nur bestimmte einträge
15.12.2021 08:40:17
Alwin
Hallo Thomas,
dein Problem ist, dass du dich entweder für TRUE/FALSE oder WAHR/FALSCH entscheiden musst damit als in

And UCase(Me.ListBox1.List(zeile, 41))  UCase(OptionButton1)
funktioniert.
Gruß Uwe
AW: Userform Listbox nur bestimmte einträge
16.12.2021 05:30:09
Thomas
Hallo Uwe daran scheint es nicht zu liegen, Ich habe in Spalte 42 alles auf Falsch/Wahr abgeändert und nur in Spalte 4 (Jahr 1995) auf Wahr gesetzt, somit dürfte mir der Eintrag unter "Offen" ja nicht angezeigt werden, wird er aber trotzdem und wenn ich "!erledigt" anhake und dann 1995 auswähle werden mir alle Jahre angezeigt.
https://www.herber.de/bbs/user/149835.xlsm
Anzeige
AW: Userform Listbox nur bestimmte einträge
16.12.2021 06:45:36
ralf_b
Moin,
FALSCH ist nicht gleich False. Aber das ist erstmal egal. Ich habe dein Programm etwas umgebaut. Schaus dir an. Bei Fragen, frag. Wenn du jammern willst, behalt's für dich.
https://www.herber.de/bbs/user/149836.xlsm
AW: Userform Listbox nur bestimmte einträge
20.12.2021 05:51:24
Thomas
Hallo Ralf,
nein will nicht jammern :-), aber auch deine Version klappt nicht. Wenn ich z.b. beim Jahr 1995 (gibt es nur einmal in der Tabelle) in der Spalte 42 WAHR eintrage und dann das Programm starte und dann OFFEN anklicke und das Jahr 1995 auswähle, dann wird mir genau der eine Eintrag von 1995 angezeigt, doch der dürfte doch nicht mehr als offen angezeigt werden, da Spalte 42 WAHR ist. Wenn ich dann Erledigt auswähle und 1995 (hier sollte ja jetzt der EIntrag erscheinen) werden alle Einträge der Tabelle angezeigt, egal welches Jahr.
Hab das mal mit einem Haltepunkt durchlaufen, wenn ich das richtig interpretiere liegt das Problem bei dem If not... ....

If Not UCase(Me.ListBox1.List(zeile, 2)) Like UCase(Me.ComboBox12) & "*" And UCase(Me.ListBox1.List(zeile, 41))  UCase(OptionButton2) Then
das bedeutet Ja wenn UCase(Me.ListBox1.List(zeile, 41)) gleich UCase(OptionButton2) ist das sie dann nicht entfernt werden (Not ) was aber ja bedeutet wenn Spalte 42 WAHR ist und Options Button "Offen" WAHR ist , das dann nicht entfernt wird, was zu dem Falschen verhalten bei dem "Offen" Options Button führt. Wenn der Options Button "Erledigt" aktiv ist, sieht es für mich in den einzelschritten richtig aus, aber die Listbox wird nicht angepasst, es bleiben alle Elemente stehen.
Danke für die Hilfe
https://www.herber.de/bbs/user/149908.xlsm
Anzeige
AW: Userform Listbox nur bestimmte einträge
20.12.2021 10:11:53
ralf_b
Meine Version? Wenn das eine "Version" wäre, dann würde sie 1. anders aussehen und 2 tatsächlich funktionieren. :)
Ich denke das dieses Codekonstrukt noch einige Baustellen hat. Dabei hilft es nicht wirklich wenn die Codes von vielen Andern zusammengeschustert werden.
Ich habe dir ein paar Schritte modifiziert, die dir weiterhelfen sollten. Dennoch investiere ich nicht soviel Zeit und Muße wie du. Meist ist das die Zeit um ausführlich alle Eventualitäten zu testen. Das ist deine Sache.
Was die Logik angeht, kann es schon sein das da mal was gedreht werden müsste und vielleicht auch umgestellt. Wie ich sehe beschäftigst du dich damit und bist auf dem richtigen Weg. Diese Zeile ist die zentrale Filteranweisung. Also liegt es definitiv daran.

If Not UCase(Me.ListBox1.List(zeile, 2)) Like UCase(Me.ComboBox12) & "*" And UCase(Me.ListBox1.List(zeile, 41))  UCase(OptionButton2) Then
versuch mal die zweite Zeile
If Not (Me.ListBox1.List(zeile, 2) Like Me.ComboBox12 & "*") Or Me.ListBox1.List(zeile, 41) = OptionButton2 Then

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige