ich grübel seit Tagen mit zwei Problemen, bei welchen ich aktuell leider nicht weiterkomme.
Deshalb meine Frage an die Expertenrunde :)
Folgende Vorgehensweise:
Ich habe eine Userform bestehend aus vier Textfeldern, 5 Comboboxen und einer Listbox erstellt.
Sowohl die Textfelder als auch die Comboboxen sind für die Eingabe vorbestimmt und können genutzt werden. Dies geschieht in unterschiedlichen Variationen. Aktuell ist das Makro so aufgebaut,
CommandButton5_Click()
IF Prüfung ob eines der Textfelder oder Comboboxen gefüllt ist, dann
Die Basisdaten ins Array laden. Im Arbeitsspeicher prüfen ob die IF Bedingung gegeben ist,
Falls ja, das neue Array auf einem neuen Arbeitsblatt auswerfen, anschließend als neues Array einlesen
und in der Listbox ausgeben. Aufgrund der Spaltenanzahl > 10 muss ich den Weg über das Array bzw. Rowsource gehen anstelle von Additem.
1. Problem:
Die Suche anhand der Textfelder, auch in Variation, funktioniert.
Die Suche anhand der Combobox (alleinstehend) mit dem Listenindex 1 funktioniert hervorragend.
Bei dem zweiten nicht, obwohl es der exakt selbe Code mit unterschiedlichen Variablen ist? Woran kann das liegen?
2. Problem: Aufgrund des Array bzw. Mehrspaltenproblems funktioniert im Falle einer erneuten Suche das Löschen der Listbox nicht über den Command .clear bzw. Me.Listbox1.clear weshalb ich folgenden Code im Forum gefunden habe:
With Me.ListBox1
If .ListIndex > -1 Then .RemoveItem (.ListIndex)
End With
Hierbei werden zwar vereinzelte Zeilen gelöscht, stellenweise muss ich aber mehrmals suchen bis sich die Listbox auflöst. Wie kann ich dieses Problem sauber beheben?3. Problem:
Besteht ein Ansatz, welcher im Falle der Suchbetätigung prüft welche Textfelder bzw. Comboboxen genutzt werden und passt das Makro entsprechend an oder muss ich unzählige Elseif Bedingungen schreiben? ;-)
Herzlichen Dank für eure Hilfe!
Viele Grüße,
Stefan