Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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
Listbox-Auswahl abfangen und ggf. ändern
22.04.2018 13:57:37
Oliver
Hallo zusammen!
Ich habe eine Userform mit einer Listbox (Mitarbeiternamen) und mehreren dazugehörenden Textboxen (Name, Vorname, Position etc.). Durch Setzen von Listbox.Index = 1 wird beim Aufruf der Userform der erste Eintrag ausgewählt.
Ich möchte sicherstellen, dass der Anwender keinen Eintrag der Listbox auswählen kann, bevor nicht alle Textboxen des zuletzt gewählten Items ausgefüllt sind. Bei der Auswahl eines Listbox-Items soll ggf. eine MsgBox erscheinen, die auf die fehlenden Angaben hinweist, danach soll das vom Anwender soeben ausgewählte Item der Listbox (Mitarbeitername) deselektiert und der zuvor dargestellte Mitarbeiter in der Listbox wieder ausgewählt werden, damit die Textboxen ergänzt werden können.
Leider habe ich mit allen Events (_Click, _Change, _MouseUp) bisher keine befriedigende Lösung hinbekommen. Speziell das Deselektieren des Items mit Listbox.Selected(Listbox.ListIndex) = False und Auswählen des zuvor aktiven Items klappt nicht, weil durch Setzen von Listbox.Index auf den vorherigen Wert jeweils erneut _Click bzw. _Change-Ereignisse ausgelöst werden.
Code-Beispiel:
Private Sub ListBox_Click()
If TextBox.Value = "" Then
Call MsgBox("Bitte die noch fehlenden Angaben ergänzen!")
' hier müsste die Listbox den ausgewählten Eintrag deselektieren und den zuvor
' aktiven Eintrag wieder auswählen
Exit Sub
End If
' Textboxen des zuvor markierten Mitarbeiters vollständig, bearbeite deshalb den
' vom Anwender ausgewählten Mitarbeiter (Listbox.ListIndex)
End Sub

Hat jemand eine Idee? Freue mich über jeden Hinweis, weil ich schon ein paar Tage erfolglos herumbastele.
Oliver

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox-Auswahl abfangen und ggf. ändern
22.04.2018 18:22:38
onur
Mache doch einfach ein Button auf die UF, der gedrückt werden muss, wenn ALLE Eingaben getätigt wurden.
Der Code des Buttons überprüft, ob alle Eingaben ok sind und aktiviert dann erst wider die Listbox.
Die Listbox muss natürlich, sobald was ausgwählt wurde, deaktiviert werden.
AW: Listbox-Auswahl abfangen und ggf. ändern
23.04.2018 18:35:27
Oliver
Hallo onur!
Vielen Dank für die Idee, ich werde es so ähnlich machen. Wenn ein Mitarbeiter aus der Listbox ausgewählt wurde, werden die Textboxen auf einer neuen Userform geöffnet, die erst geschlossen wird, wenn alle Angaben korrekt sind.
Oliver
AW: Listbox-Auswahl abfangen und ggf. ändern
22.04.2018 18:28:00
Stefan
Hallo Oliver,
du könntest auch die Enabled-Eigenschaft der Listbox über das Change-Event aller Textboxen setzen,
in dem du von allen diesen eine Prüfroutine aufrufst, in der Enabled auf True gesetzt wird wenn alle Textboxen richtig gefüllt sind.
Gruße Stefan
Anzeige
AW: Listbox-Auswahl abfangen und ggf. ändern
23.04.2018 18:37:54
Oliver
Hallo Stefan,
vielen Dank auch für Deine Idee. Werde es so ähnlich machen (siehe Antwort an onur)
Oliver

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige