Listbox - ausgewählte Zeile aus Tabellenblatt markieren
04.05.2024 20:49:40
Jeannine88
ich habe keine Vorkenntnisse betreffend VBA, und beschäftige mich nun seit ein paar Tagen erstmals mit diesem Thema. Ich bin gerade dabei eine kleine (einfache) Kundendatenbank zu programmieren, und bis jetzt schlage ich mich eigentlich recht gut durch.
Ich stehe allerdings vor folgendem Problem, und habe nirgends eine passende Lösung finden können:
Neue Kundendaten werden mittels einer User Form in das Tabellenblatt eingetragen. Im Tabellenblatt ("Kunden") werden die erfassten Kunden dann gespeichert und entsprechend angezeigt (das Tabellenblatt soll später als "Kurzübersicht" für die Kundendaten dienen).
Ich habe eine Funktion eingebaut, dass, wenn eine beliebige Kundenzeile angeklickt wird, sich diese blau einfärbt, und am Ende der Zeile ein kleines Icon erscheint, welches die Kundenbearbeitung ermöglicht.
Bei Klick auf dieses Icon öffnet sich eine weitere Userform, welches u.a. auch eine ListBox enthält, in welcher alle Kundeneinträge angeführt sind.
Problem: ich möchte, dass der im Tabellenblatt ausgewählte Kunde (bei welchem ich das Icon für die weitere Bearbeitung anklicke) in der ListBox (der sich öffnenden User-Form) ebenfalls markiert wird --> momentan lande ich in der ListBox immer beim ersten Eintrag (.ListIndex = 0).
Der Code in dieser User-Form sieht folgendermaßen aus:
Private Sub UserForm_Initialize()
'Zellbereich einlesen
Dim rng As Range
Set rng = shKunden.Range("D14").CurrentRegion
Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1)
'Listbox befüllen
With ListBoxKunden
.RowSource = rng.Address(external:=True)
.ColumnCount = rng.Columns.Count ' Spaltenanzahl festlegen
.ColumnWidths = "60;90;65;90;50;35;80;85;110;110;110;" ' Spaltenbreite festlegen
.ColumnHeads = True
.ListIndex = 0
End With
End Sub
Danke für Eure Hilfe!
Jeannine
Anzeige