VBA ListBox abfragen?
Hallo Leute,
ich habe ein VBA Userform mit einer Listbox und möchte den ausgewählten Eintrag abfragen für eine If-Verzweigung.
Der Code soll folgendes tun:
Wenn z.B der erste Beitrag der Liste ausgewählt, dann ...
Habe es bereits mit If Listbox.Selected(0) = True Then .... versucht, geht aber nicht.
Hat jemand Vorschläge?
Danke im voraus!
Grüße
1 Antwort
Die Listbox muss natürlich auch "Listbox" heißen, damit das funktioniert (den Namen kannst du in den Eigenschaften einstellen. Standardmäßig müsste es "ListBox1" heißen) . Und du kannst nur im Code vom Userform aus die Elemente des Userforms zugreifen. Da sollte es aber genau so funktionieren, wie du es versuchst. Alternativ kannst du auch "If Listbox.ItemIndex = 0 Then" benutzen
Tut mir Leid, die Eigenschaft heißt nicht ItemIndex, sondern ListIndex.
Wird denn eine Fehlermeldung angezeigt, wenn du es mit deiner Methode, also mit Listbox.Selected(0) versuchst?
PS: Tipp: Schreibe ganz oben in ein Codefenster immer "Option Explicit". Dadurch wird dir überall eine Meldung angezeigt, wo eine Variable nicht gefunden werden kann. Ich hatte schon öfter mal Bugs, weil ein kleiner Schreibfehler in einem Variablennamen war und VBA standardmäßig alle unbekannten Variablen einfach selbst anlegt.
Die Steuerelemente eines Formulars kannst du auch mit z.B. "Me.Listbox" ansprechen. Sobald du "Me." schreibst, werden dir alle Steuerelemente aufgelistet, die in dem Formular sind.
Vielen Dank! mit Listindex scheint es zu funktionieren
Ich habe der Listbox schon den richtigen Namen gegeben, funktioniert leider trotzdem nicht. Wenn ich es mit .ItemIndex versuche bekomme ich den Error "Methode oder Datenobjekt nicht gefunden"