Fehler in Listbox abfangen

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ruy.

    Fehler in Listbox abfangen

    Moin moin zusammen,

    ich habe da mal ein kleines Problem. Ich habe eine Listbox die mit Daten gefüllt ist. Per Doppelklick in eine Zeile kann man mit den entsprechenden Daten weiterarbeiten. Man man aber ein Doppelklick in eine leere Zeile, dann wird ein Laufzeitfehler mit folgender Fehlermeldung "Eigenschaft List konnte nicht abgerufen werden. Index des Eigenschaftenfelds ungültig." erzeugt. Die Frage ist jetzt, wie kann ich das einfach und elegant abfangen, so dass der Programmablauf nicht gestört wird, auch wenn ein Nutzer versehentlich ins "Nichts" klicken sollte.

    Grüße

    Ruy
    Heyho Ruy,

    zeig doch mal deinen Code, dann können wir dir bestimmt helfen.
    Wie kommen denn "leere Zeilen" in die Listbox? Oder meinst du leere Zeilen in der Tabelle?
    Wie kommen die Daten in die Listbox?

    lg
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    Hi,

    macht sicherlich Sinn wenn ich dir die entsprechenden Codezeilen gebe. :)

    Visual Basic-Quellcode

    1. Sub Laden_Kfz_Vorschlagsliste()
    2. Zeile_Wiederkehrende_Fahrzeuge = Sheets("konfiguration").Range("C30").Value
    3. Zeile_Wiederkehrende_Fahrzeuge = Zeile_Wiederkehrende_Fahrzeuge - 1
    4. listKFZVorschlag.Clear
    5. Zeile = 4
    6. For Zeile = 4 To Zeile_Wiederkehrende_Fahrzeuge
    7. With listKFZVorschlag
    8. .AddItem Sheets("konfiguration").Range("J" & Zeile).Value
    9. .list(listKFZVorschlag.ListCount - 1, 1) = Sheets("konfiguration").Range("K" & Zeile).Value
    10. .list(listKFZVorschlag.ListCount - 1, 2) = Sheets("konfiguration").Range("L" & Zeile).Value
    11. .list(listKFZVorschlag.ListCount - 1, 3) = Sheets("konfiguration").Range("M" & Zeile).Value
    12. .list(listKFZVorschlag.ListCount - 1, 4) = Sheets("konfiguration").Range("N" & Zeile).Value
    13. End With
    14. Next Zeile
    15. End Sub


    Mit dem obigen Code habe ich die Tabelle der Listbox befüllt. Diese sind dann auch vorhanden. Mit leere Zeile meinte ich vorhin nichts anderes als einfach nur, wenn man unterhalb der befüllten Tabelle ein Doppelklick ausführt.

    Hier habe ich auch noch mal den Doppelklick für die Listbox.

    Visual Basic-Quellcode

    1. Private Sub listKFZVorschlag_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    2. Fahrzeug_Uebernahme = listKFZVorschlag.list(, 0)
    3. Fahrzeug_Uebernahme = Fahrzeug_Uebernahme + 3
    4. formFahrzeugEinchecken.txtKennzeichen.Text = Sheets("konfiguration").Range("K" & Fahrzeug_Uebernahme).Value
    5. formFahrzeugEinchecken.txtFirma.Text = Sheets("konfiguration").Range("L" & Fahrzeug_Uebernahme).Value
    6. formFahrzeugEinchecken.txtMarke.Text = Sheets("konfiguration").Range("M" & Fahrzeug_Uebernahme).Value
    7. formFahrzeugEinchecken.txtFarbe.Text = Sheets("konfiguration").Range("N" & Fahrzeug_Uebernahme).Value
    8. formFahrzeugEinchecken.Show
    9. End Sub



    Aber trotzdem schon mal Danke dafür das du dich der Sache überhaupt annimmst. :)



    Grüße

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ruy“ ()