Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

erste Spalte aus Listbox als Value

Forumthread: erste Spalte aus Listbox als Value

erste Spalte aus Listbox als Value
11.11.2002 15:28:53
Michael
Hallo Forum,

ich lese mit folgendem Code Inhalte von Zellen in eine zweispaltige Listbox ein:

Dim anf As Range
Dim fert As Range
Dim such As String

zeile = 0
lsbProd.ColumnCount = 2

such = comboProd.Value
For Each c In Sheets("Liste").Range("D21 :D1000")
If c.Value = such Then
Set anf = c.Offset(1, -1)
Set fert = c.Offset(70, -1)
Exit For
End If

Next c

For Each c In Range(anf, fert)
If c.Value = "" Then
Exit For
Else
lsbProd.AddItem c
lsbProd.List(zeile, 1) = c.Offset(0, 1)
zeile = zeile + 1
End If
Next c


Die erste Listbox-Spalte ist die Artikelnummer, die Zweite der
Artikelname.

Nun möchte ich aus den aufgelisteten Artikel einen auswählen und die Artikelnummer in einer Textbox erscheinen lassen.

Textbox1.value = lsbProd.value

Wie schaffe ich es, dass Value der listbox die erste Spalte ist.
Momentan wird mir in der Textbox der Artikelname(2. Spalte) und nicht die Artikelnummer(1.Spalte) angezeigt.

Kann mir jemand sagen wie es geht?


Vielen Dank im voraus

Michael

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: erste Spalte aus Listbox als Value
11.11.2002 15:44:34
Hajo_Zi
Hallo Michael

Textbox1 = ListBox1.List(ListBox1.ListIndex, 0)

Gruß Hajo

Re: erste Spalte aus Listbox als Value
11.11.2002 15:54:08
Michael
Hallo Hajo,


vielen Dank. Klappt gut und ist eigentlich einfach.

Gruß
Michael

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Erste Spalte aus Listbox als Value nutzen


Schritt-für-Schritt-Anleitung

Um die erste Spalte einer Listbox in Excel VBA als Value zu verwenden, folge diesen Schritten:

  1. Füge eine Listbox (lsbProd) und eine Textbox (Textbox1) in dein UserForm ein.

  2. Stelle sicher, dass du die Listbox mit den gewünschten Werten füllst. Benutze dazu den folgenden VBA-Code:

    Dim anf As Range
    Dim fert As Range
    Dim such As String
    Dim zeile As Integer
    
    zeile = 0
    lsbProd.ColumnCount = 2
    such = comboProd.Value
    
    For Each c In Sheets("Liste").Range("D21:D1000")
        If c.Value = such Then
            Set anf = c.Offset(1, -1)
            Set fert = c.Offset(70, -1)
            Exit For
        End If
    Next c
    
    For Each c In Range(anf, fert)
        If c.Value = "" Then
            Exit For
        Else
            lsbProd.AddItem c
            lsbProd.List(zeile, 1) = c.Offset(0, 1)
            zeile = zeile + 1
        End If
    Next c
  3. Um die Artikelnummer (erste Spalte) in der Textbox anzuzeigen, benutze den folgenden Code:

    Textbox1.Value = lsbProd.List(lsbProd.ListIndex, 0)
  4. Jetzt sollte die Artikelnummer in der Textbox erscheinen, wenn du einen Eintrag aus der Listbox auswählst.


Häufige Fehler und Lösungen

  • Fehler: Die Textbox zeigt den Artikelname anstatt die Artikelnummer.

    • Lösung: Stelle sicher, dass du Textbox1.Value = lsbProd.List(lsbProd.ListIndex, 0) verwendest, um die erste Spalte auszulesen.
  • Fehler: Listbox bleibt leer.

    • Lösung: Überprüfe den Bereich Sheets("Liste").Range("D21:D1000") und stelle sicher, dass die gesuchten Werte vorhanden sind.

Alternative Methoden

Falls du die Listbox nicht in einem UserForm verwenden möchtest, kannst du auch eine ActiveX-Listbox direkt auf deinem Arbeitsblatt nutzen. Das Prinzip zur Befüllung und zum Abrufen der Werte bleibt gleich, jedoch musst du die Steuerelemente direkt auf das Arbeitsblatt ziehen.


Praktische Beispiele

  1. Beispiel mit einer UserForm: Du hast eine UserForm mit einem Dropdown (comboProd), einer Listbox (lsbProd) und einer Textbox (Textbox1). Wenn der Benutzer einen Artikel auswählt, wird die Artikelnummer in der Textbox angezeigt.

  2. Beispiel für ein Dashboard: Nutze die Listbox, um Daten aus einer Tabelle dynamisch auszuwählen und anzuzeigen, sodass Benutzer schnell auf relevante Informationen zugreifen können.


Tipps für Profis

  • Verwende ListIndex, um sicherzustellen, dass du den aktuell ausgewählten Index der Listbox benutzt.
  • Überlege, die Listbox so zu gestalten, dass sie mehr Informationen anzeigt, indem du weitere Spalten hinzufügst.
  • Experimentiere mit der Formatierung der Listbox, um die Benutzererfahrung zu verbessern.

FAQ: Häufige Fragen

1. Wie ändere ich die Anzahl der Spalten in der Listbox? Du kannst die Anzahl der Spalten mit lsbProd.ColumnCount = X anpassen, wobei X die gewünschte Anzahl ist.

2. Kann ich die Listbox auch mit Werten aus einer anderen Quelle füllen? Ja, du kannst Werte auch aus einer Datenbank oder einer externen Datei abrufen, indem du die entsprechenden VBA-Funktionen verwendest.

3. Was mache ich, wenn die Listbox nicht aktualisiert wird? Stelle sicher, dass der Code zur Befüllung der Listbox ausgeführt wird, bevor du versuchst, Werte abzurufen. Eventuell musst du auch die UserForm aktualisieren oder neu laden.

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