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

Forumthread: Listbox - Inhalt aus Spalte 2 auslesen

Listbox - Inhalt aus Spalte 2 auslesen
kle
Hallo,
irgendwie habe ich einen Denkfehler und komm einfach nicht drauf. Ich habe in einer Listbox 3 Spalten und möchte nun per Klick auf einen Eintrag, den Inhalt der 2'ten Spalte des gewählten Eintrags übergeben.
Doch ich finde grad nicht den richtigen Code dafür...
Vielen dank für Eure Hilfe!
Gruß
Kay
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Listbox - Inhalt aus Spalte 2 auslesen
30.01.2011 23:17:57
CitizenX
Hallo Kay,
hier mal ein Bsp für eine Listbox aus der Steuerelement-Toolbox .
Code kommt in das "Click" Ereignis des Elements:
'Name der Listbox anpassen 
Private Sub ListBoxMenue_Click()
Dim I As Long
With ListBoxMenue
    If Not .ListCount = 0 Then
        For I = .ListCount - 1 To 0 Step -1
            If .Selected(I) Then
            'Listboxspalte 2 Zähler beginnt bei 0! 
            If .List(I, 1) = "" Then Exit Sub
            'Bereich anpassen 
            Sheets("Tabelle1").Range("A1") = .List(I, 1)
            Exit For
            End If
        Next I
    End If
End With
End Sub
Grüße
Steffen
Anzeige
AW: Listbox - Inhalt aus Spalte 2 auslesen
30.01.2011 23:26:51
kle
Danke Steffen...dass mit der 0 hatte ich nicht bedacht ! ;o)
AW: gefunden, .List(Row, Column)...
30.01.2011 23:25:44
kle
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Listbox – Inhalt der 2. Spalte auslesen


Schritt-für-Schritt-Anleitung

Um den Inhalt der 2. Spalte einer Listbox auszulesen, kannst du den folgenden VBA-Code verwenden. Dieser Code sollte in das "Click"-Ereignis der Listbox eingefügt werden:

'Name der Listbox anpassen
Private Sub ListBoxMenue_Click()
    Dim I As Long
    With ListBoxMenue
        If Not .ListCount = 0 Then
            For I = .ListCount - 1 To 0 Step -1
                If .Selected(I) Then
                    'Listboxspalte 2 Zähler beginnt bei 0!
                    If .List(I, 1) = "" Then Exit Sub
                    'Bereich anpassen
                    Sheets("Tabelle1").Range("A1") = .List(I, 1)
                    Exit For
                End If
            Next I
        End If
    End With
End Sub

Dieser Code überprüft, ob ein Eintrag in der Listbox ausgewählt wurde und gibt den Inhalt der 2. Spalte (Index 1) in die Zelle A1 von "Tabelle1" aus.


Häufige Fehler und Lösungen

  1. Fehler: Index außerhalb des Bereichs

    • Lösung: Stelle sicher, dass die Listbox tatsächlich Einträge enthält und dass du den korrekten Spaltenindex verwendest (beginnend bei 0).
  2. Fehler: Nichts passiert beim Klicken

    • Lösung: Überprüfe, ob das Click-Ereignis korrekt mit der Listbox verbunden ist und ob der Code in der richtigen Subroutine eingefügt wurde.

Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du auch Formeln oder Datenvalidierungstechniken in Excel nutzen, um ähnliche Ergebnisse zu erzielen. Beispielsweise kannst du eine Dropdown-Liste erstellen, die den Inhalt einer Spalte anzeigt.


Praktische Beispiele

Angenommen, du hast eine Listbox mit den folgenden Einträgen:

Spalte 1 Spalte 2 Spalte 3
Eintrag 1 Wert 1 Info 1
Eintrag 2 Wert 2 Info 2
Eintrag 3 Wert 3 Info 3

Wenn du auf "Eintrag 2" klickst, wird "Wert 2" in die Zelle A1 geschrieben.


Tipps für Profis

  • Überprüfe, welche Excel-Version du verwendest. Der oben angegebene Code funktioniert in Excel 2010 und höheren Versionen.
  • Experimentiere mit der Formatierung der Listbox für eine bessere Benutzeroberfläche. Du kannst die Breite der Spalten anpassen, um sicherzustellen, dass alle Inhalte sichtbar sind.

FAQ: Häufige Fragen

1. Wie kann ich den Inhalt der Listbox dynamisch ändern? Du kannst den Inhalt der Listbox zur Laufzeit mit dem List-Attribut anpassen, indem du beispielsweise Daten aus einer Datenquelle lädst.

2. Kann ich mehrere Spalten gleichzeitig auslesen? Ja, du kannst den Index der gewünschten Spalten in einer Schleife durchlaufen und die Werte entsprechend speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige