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

Forumthread: Listbox füllen

Listbox füllen
max
Hallo Excelfreunde,
möchte eine Listbox mit Daten füllen:

Private Sub UserForm_Initialize()
UserForm1.ComboBox1.RowSource = _
Sheets("Tabelle3").Range("D1:D6").Address
End Sub

klappt soweit so gut solange ich mich auf Tabelle3 befinde. Wechsle ich aber auf z.B. tab1 geht's nicht mehr.
Hab nichts dazu gefunden. Ist das so ähnlich wie mit Datenüberprüfung Liste wo es nur mit Bereichsnamen fkt?
Kann mir jemand weiter helfen?
Gruß max
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Listbox füllen
14.11.2011 16:32:12
hary
Hallo Max

UserForm1.ComboBox1.RowSource = "Tabelle3!D1:D6"

gruss hary
AW: Listbox füllen
14.11.2011 16:35:49
max
sitzt - passt - und hat luft. Danke
max
AW: Listbox füllen
14.11.2011 16:33:07
Rudi
Hallo,
würde ich gar nicht mit RowSource machen.
Private Sub UserForm_Initialize()
ComboBox1.List = Sheets("Tabelle3").Range("D1:D6").Value
End Sub

Gruß
Rudi
Anzeige
AW: Listbox füllen
14.11.2011 16:40:11
max
Danke Rudi funktioniert. Aber wie schaut's aus, wenn der Datenbereich variabel ist: D1:D ?
max
AW: Listbox füllen
14.11.2011 16:58:29
hary
Hallo Max
hier mit beidem.

Private Sub UserForm_Initialize()
Dim letzte As Long
With Sheets("Tabelle3")
letzte = .Cells(.Rows.Count, 4).End(xlUp).Row 'letzte belegte Zellennummer SpalteD
'UserForm1.ComboBox1.RowSource = .Name & "!" & Range("D1:D" & letzte).Address
'ComboBox1.List = .Range("D1:D" & letzte).Value
End With
End Sub

gruss hary
Anzeige
AW: Listbox füllen
max
Top Harry- besten Dank
max
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Listbox in Excel füllen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um eine Listbox oder ein Kombinationsfeld in Excel mit Daten zu füllen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um eine Listbox zu befüllen:

  1. Öffne Excel und gehe zu Entwicklertools. Wenn Du diese Option nicht siehst, musst Du sie in den Excel-Optionen aktivieren.

  2. Klicke auf Visual Basic, um den VBA-Editor zu öffnen.

  3. Füge ein neues UserForm hinzu. Rechtsklicke im Projektfenster und wähle Einfügen > UserForm.

  4. Füge eine ListBox oder ComboBox auf das UserForm hinzu (über die Toolbox).

  5. Füge den folgenden Code in das UserForm ein:

    Private Sub UserForm_Initialize()
       Dim letzte As Long
       With Sheets("Tabelle3")
           letzte = .Cells(.Rows.Count, 4).End(xlUp).Row 'letzte belegte Zellennummer Spalte D
           ComboBox1.List = .Range("D1:D" & letzte).Value
       End With
    End Sub
  6. Schließe den VBA-Editor und kehre zu Excel zurück. Du kannst das UserForm jetzt über einen Button oder eine andere Aktion aufrufen.


Häufige Fehler und Lösungen

  • Fehler: Listbox bleibt leer

    • Lösung: Stelle sicher, dass der Bereich, den Du angegeben hast, tatsächlich Daten enthält. Überprüfe auch den Sheet-Namen.
  • Fehler: Der Bereich ist variabel, funktioniert aber nicht

    • Lösung: Verwende den Code, um die letzte belegte Zelle dynamisch zu finden (wie oben gezeigt).
  • Fehler: Fehler beim Zugriff auf das Sheet

    • Lösung: Überprüfe den Namen des Sheets auf Tippfehler und stelle sicher, dass es in der Excel-Datei vorhanden ist.

Alternative Methoden

Falls Du keine VBA-Programmierung verwenden möchtest, gibt es auch die Möglichkeit, eine Excel-Listbox mit einer Datenvalidierung zu füllen:

  1. Wähle die Zelle aus, in der Du die Dropdown-Liste erstellen möchtest.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle Liste und gib als Quelle den Bereich an, z.B. Tabelle3!D1:D6.

Diese Methode ist einfacher, bietet jedoch weniger Flexibilität als das Arbeiten mit VBA.


Praktische Beispiele

  • Beispiel 1: Fülle eine Listbox mit festen Werten:

    Private Sub UserForm_Initialize()
       ComboBox1.List = Array("Wert1", "Wert2", "Wert3")
    End Sub
  • Beispiel 2: Verwende eine externe Datenquelle, um eine Listbox zu füllen:

    Private Sub UserForm_Initialize()
       Dim wb As Workbook
       Set wb = Workbooks.Open("C:\Pfad\zur\Datei.xlsx")
       ComboBox1.List = wb.Sheets("Daten").Range("A1:A10").Value
       wb.Close
    End Sub

Tipps für Profis

  • Nutze ListView für erweiterte Benutzeroberflächen und mehr Kontrolle über die Darstellung.
  • Kombiniere Listboxen mit anderen Steuerelementen, um dynamische Formulare zu erstellen.
  • Verwende Ereignisse wie Click oder Change, um auf Benutzerinteraktionen zu reagieren und die Listbox dynamisch zu aktualisieren.

FAQ: Häufige Fragen

1. Wie kann ich eine Listbox mit einem Bereich füllen, der sich ändert? Verwende die Methode, die die letzte belegte Zelle ermittelt, um die Listbox dynamisch zu befüllen.

2. Was ist der Unterschied zwischen einer Listbox und einer ComboBox? Eine Listbox zeigt mehrere auswählbare Elemente an, während eine ComboBox auch die Eingabe neuer Werte erlaubt.

3. Kann ich eine Listbox auch mit Daten aus einer anderen Arbeitsmappe füllen? Ja, Du kannst Daten aus einer anderen Arbeitsmappe einfügen, indem Du diese öffnest und den entsprechenden Bereich angibst.

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