AW: markierte Einträge in einer ListBox
07.09.2011 14:24:33
Jonathan
Vielen Dank für die ausführliche Erklärung, leider kann ich damit mein Problem nicht beheben.
Zur Vorgehensweise:
Über ein Textfeld suche nach bestimmten Werten innerhalb eines Sheets, diese werden in einer ListBox aufgeführt. Markiere ich einen Eintrag in der Listbox und klicke dann auf einen Button, werden die Werte des ausgewählten Eintrages in verschiedene Textfelder - welche vorher mit durch die Auswahl eines Optionsfeldes selektiert wurden - geschrieben. Danach wird automatisch ein anderes Optionsfeld ausgewählt. Dies klappt auch super; aber:
Markiere ich einen Listeintrag und klicke auf den Button, ist der Eintrag zwar noch blau hinterlegt, allerdings nicht mehr ausgewählt. Klicke ich dann sofort erneut auf den Button (die Daten sollten dann in weitere Textfelder geschrieben werden), erhalte ich die Fehlermeldung:
"Eigenschaft List konnte nicht abgerufen werden. Index des Eigenschaftenfeldes ungültig."
Ich müsste vorher den Eintrag der Listbox erneut anwählen - dann funktioniert es.
Ich hoffe, Ihr könnt mir folgen?! ;-)
Hier der Code für das Übernehmen der Daten aus der Listbox:
Private Sub find_eintragen()
Dim booOptionClicked As Boolean
Dim opt_name As String
Dim opt_nr As Integer
For i = 1 To 20
If Me("opt" & i).Value = True Then
booOptionClicked = True
opt_name = Me("opt" & i).Caption
opt_nr = i
End If
Next i
If Not booOptionClicked Then
MsgBox "Bitte wählen Sie einen Datensatz", _
48, " Hinweis für " & Application.UserName
Me.lbox_find.SetFocus
Exit Sub
End If
uf_haupt("com_buchungsart" & opt_nr).Value = Me.lbox_find.List(Me.lbox_find.ListIndex, 0)
uf_haupt("com_ok" & opt_nr).Value = Me.lbox_find.List(Me.lbox_find.ListIndex, 1)
uf_haupt("com_uk" & opt_nr).Value = Me.lbox_find.List(Me.lbox_find.ListIndex, 2)
uf_haupt("com_uk2" & opt_nr).Value = Me.lbox_find.List(Me.lbox_find.ListIndex, 3)
uf_haupt("txt_kommentar" & opt_nr).Value = Me.lbox_find.List(Me.lbox_find.ListIndex, 4)
uf_haupt("txt_betrag" & opt_nr).SetFocus
uf_haupt("opt" & opt_nr + 1).Value = True
End Sub