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

Forumthread: Listbox click zeile erkennen?

Listbox click zeile erkennen?
Lisa
Hallo zusammen, nach langer Zeit benötige ich mal wieder eure Hilfe!!
Ich habe eine Userform mit einer Textbox und einer Listbox!
Die Listbox fülle ich über RowSource der Eigenschaften aus der Tabelle1!
Die Textbox1 soll mir bei click auf die Listbox die Zeilennummer der Tabelle anzeigen!
Wahrscheinlich kein Problem nur leider komme ich nicht darauf wie ich die Zeilennummer der Tabelle erkenne kann!
Kann mir jemand sagen wie man das anstellt!
vielen Dank für Eure Hilfe!
LG Lisa
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Listbox click zeile erkennen?
26.06.2012 13:22:43
ChrisL
Hi Lisa
Wenn RowSource bei Zeile 1 beginnt...
Private Sub ListBox1_Click()
MsgBox "Zeile " & ListBox1.ListIndex + 1
End Sub
Ansonsten musst du "+1" entsprechend korrigieren.
cu
Chris
AW: Listbox click zeile erkennen?
26.06.2012 14:08:24
Beverly
Hi Lisa,
falls RowSource nicht in Zeile 1 beginnt, dann z.B. auch auf diese Weise:
MsgBox Range(ListBox1.RowSource).Cells(ListBox1.ListIndex + 1).Row


Anzeige
AW: danke:) funktioniert
26.06.2012 14:52:38
Lisa
;
Anzeige
Anzeige

Infobox / Tutorial

Listbox Click: Zeile in Excel VBA erkennen


Schritt-für-Schritt-Anleitung

Um die Zeilennummer einer Listbox zu erkennen, kannst du den ListBox1_Click-Ereignis in deiner Userform verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei und gehe in den VBA-Editor (drücke ALT + F11).

  2. Füge eine Userform hinzu und platziere eine Listbox sowie eine Textbox darauf.

  3. Setze die RowSource der Listbox auf den gewünschten Bereich aus deiner Tabelle.

  4. Füge den folgenden VBA-Code in das Codefenster der Userform ein:

    Private Sub ListBox1_Click()
       TextBox1.Value = "Zeile " & ListBox1.ListIndex + 1
    End Sub
  5. Teste die Funktion: Klicke auf einen Eintrag in der Listbox und die entsprechende Zeilennummer wird in der Textbox angezeigt.


Häufige Fehler und Lösungen

  1. Fehler: Keine Zeilennummer angezeigt

    • Lösung: Stelle sicher, dass du den Code im ListBox1_Click-Ereignis korrekt eingefügt hast. Überprüfe auch, ob die Listbox mit Daten gefüllt ist.
  2. Problem: RowSource beginnt nicht bei Zeile 1

    • Lösung: Wenn die RowSource nicht bei Zeile 1 beginnt, kannst du den folgenden Code verwenden:
    MsgBox Range(ListBox1.RowSource).Cells(ListBox1.ListIndex + 1).Row

Alternative Methoden

Eine alternative Methode, um bei einem Listbox-Klick die Zeile zu erkennen, ist die Verwendung des Row-Eigenschafts von Range. Hier ein Beispiel, wie du das umsetzen kannst:

Private Sub ListBox1_Click()
    Dim rowNum As Long
    rowNum = Range(ListBox1.RowSource).Cells(ListBox1.ListIndex + 1).Row
    MsgBox "Die Zeile ist: " & rowNum
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie du eine Userform mit einer Listbox und einer Textbox erstellen kannst, die die Zeilennummer anzeigt:

  1. Erstelle eine Tabelle mit den Daten, die du in die Listbox laden möchtest.
  2. Setze die RowSource der Listbox auf den Zellbereich.
  3. Verwende den oben genannten VBA-Code im ListBox1_Click-Ereignis.

Das Ergebnis ist, dass bei einem Klick auf einen Listbox-Eintrag die entsprechende Zeilennummer angezeigt wird.


Tipps für Profis

  • Nutze die Option Explicit in deinem VBA-Code, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit dem ListBox-Style und den Ereignissen, um die Benutzererfahrung zu verbessern.
  • Überlege, ob du zusätzliche Informationen in der Textbox anzeigen möchtest, wie z.B. den Wert der ausgewählten Zeile.

FAQ: Häufige Fragen

1. Wie kann ich die Zeilennummer in einer anderen Zelle anzeigen? Du kannst den Code so anpassen, dass die Zeilennummer in einer bestimmten Zelle angezeigt wird, indem du Range("A1").Value = ListBox1.ListIndex + 1 verwendest.

2. Was ist der Unterschied zwischen ListIndex und Row? ListIndex gibt die Position des ausgewählten Elements in der Listbox zurück, während Row die tatsächliche Zeilennummer in der Tabelle angibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige