Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox - ausgewählte Zeile aus Tabellenblatt markieren

Forumthread: Listbox - ausgewählte Zeile aus Tabellenblatt markieren

Listbox - ausgewählte Zeile aus Tabellenblatt markieren
04.05.2024 20:49:40
Jeannine88
Hallo Zusammen,

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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox - ausgewählte Zeile aus Tabellenblatt markieren
05.05.2024 00:00:03
ralf_b
möchtest du die Kundendaten in der Tabelle bearbeiten oder in der Userform?

Da du schon Userformen benutzt, dann mach es lieber gleich alles in der/einer Userform. Das spart dir dann auch irgendwelche Buttons hinter jedem Datensatz zu basteln.
Es gibt ja schon reichlich Beispiele für so eine Anwendung.

im initialize wird listindex = 0 gesetzt. Kein Wunder also das beim Start der UF das auch so angezeigt wird. Um das zu ändern müsstest du nur den index des aktuellen Datensatzes an de Userform übergeben. Dafür gibt es verschiedene Möglichkeiten.

Anzeige
AW: Listbox - ausgewählte Zeile aus Tabellenblatt markieren
05.05.2024 08:43:53
Alwin Weisangler
Hallo Jeannine,

falls du es noch nicht selbst rausbekommen hast, wäre einer der möglichen der Lösungswege die Zeilennummer der aktiven Zelle - 1. Zeile deines Ranges zu berechnen.


.ListIndex = ActiveCell.Row - rng.Row


Gruß Uwe

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige