Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform Combobox füllen

Userform Combobox füllen
snore
Hallo Excelprofis,
ich hab ein "hoffentlich" keines Problem, ich benutze folgenden Code in meiner Userform um Daten in eine Combobox einzulesen.
soweit so gut, funktioniert auch sehr gut, nur ich muss das Tabellenblatt offen haben um die Daten einzulesen, ich will aber auf einen Anderen Tabellenblatt die Userform öffen, was muss ich an den Code ändern?
für eure hilfe wäre ich sehr dankbar
Gruß
snore
Private Sub UserForm_Initialize()
Dim iIndx  As Integer
Dim SC_SL  As Object
Dim vTemp  As Variant
Set SC_SL = CreateObject("System.Collections.SortedList")
vTemp = Worksheets("Listen_1").Range("M12:M" & Cells(Rows.Count, 12).End(xlUp).Row)
For iIndx = 12 To UBound(vTemp)
If vTemp(iIndx, 1)  "" Then SC_SL(vTemp(iIndx, 1)) = ""
Next iIndx
ComboBox4.Clear
For iIndx = 0 To SC_SL.Count - 1
ComboBox4.AddItem SC_SL.GetKey(iIndx)
Next iIndx
End Sub

Anzeige

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

Betreff
Benutzer
Anzeige
AW: Userform Combobox füllen
20.08.2012 17:28:33
ransi
Hallo
Versuch mal so:
.
.
With Worksheets("Listen_1")
    vTemp = .Range("M12:M" & .Cells(.Rows.Count, 12).End(xlUp).Row)
End With
.
.

ransi
Anzeige
AW: Userform Combobox füllen
20.08.2012 17:32:35
snore
Hallo ransi,
Danke, funktioniert wie ich mir das gewünscht habe,
nochmals danke
gruß
snore
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Userform Combobox füllen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Combobox in einer Userform mit Werten aus einem Tabellenblatt zu füllen, kannst Du den folgenden Code verwenden. Dieser Code funktioniert in Excel VBA und ermöglicht es Dir, die Combobox auch dann zu füllen, wenn sich die Userform auf einem anderen Tabellenblatt befindet.

Private Sub UserForm_Initialize()
    Dim iIndx As Integer
    Dim SC_SL As Object
    Dim vTemp As Variant
    Set SC_SL = CreateObject("System.Collections.SortedList")

    ' Werte aus einer Tabelle einlesen
    With Worksheets("Listen_1")
        vTemp = .Range("M12:M" & .Cells(.Rows.Count, 12).End(xlUp).Row)
    End With

    For iIndx = 12 To UBound(vTemp)
        If vTemp(iIndx, 1) <> "" Then SC_SL(vTemp(iIndx, 1)) = ""
    Next iIndx

    ComboBox4.Clear
    For iIndx = 0 To SC_SL.Count - 1
        ComboBox4.AddItem SC_SL.GetKey(iIndx)
    Next iIndx
End Sub

Dieser Code verwendet die With-Anweisung, um die Lesbarkeit zu erhöhen und sicherzustellen, dass Du nicht ständig das Tabellenblatt erneut angeben musst. Achte darauf, dass die Tabelle „Listen_1“ existiert und die entsprechenden Daten in der angegebenen Spalte vorhanden sind.


Häufige Fehler und Lösungen

  • Fehler: „Object variable or With block variable not set“

    • Lösung: Überprüfe, ob das angegebene Tabellenblatt existiert und keine Tippfehler in den Namen sind.
  • Fehler: Combobox bleibt leer

    • Lösung: Stelle sicher, dass die angegebenen Zellbereiche tatsächlich Daten enthalten. Wenn die Zellen leer sind, wird die Combobox nicht gefüllt.

Alternative Methoden

Es gibt mehrere Möglichkeiten, eine Combobox in einer Userform zu füllen. Eine alternative Methode ist die Verwendung von Arrays oder der direkten Zuweisung von Werten:

ComboBox4.List = Array("Wert1", "Wert2", "Wert3")

Diese Methode ist besonders nützlich, wenn Du vordefinierte Werte verwenden möchtest, anstatt Daten dynamisch aus einer Tabelle einzulesen.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele für das Füllen einer Combobox:

  1. Füllen aus einer Tabelle:

    • Verwende den oben angegebenen Code, um Daten aus einer Tabelle einzulesen.
  2. Vorbelegte Werte:

    • Du kannst auch Werte wie „Ja“, „Nein“ oder „Vielleicht“ direkt in die Combobox einfügen.
ComboBox4.AddItem "Ja"
ComboBox4.AddItem "Nein"
ComboBox4.AddItem "Vielleicht"
  1. Füllen mit einer Dropdown-Liste:
    • Wenn Du eine Dropdown-Liste in der Userform benötigst, kannst Du die gleiche Technik verwenden, um die Liste aus einer anderen Quelle zu generieren.

Tipps für Profis

  • Datenvalidierung: Stelle sicher, dass die Daten in der Tabelle, von der Du die Combobox füllst, sauber und konsistent sind, um Fehler zu vermeiden.
  • Dynamische Aktualisierung: Wenn sich die Daten in der Tabelle häufig ändern, kannst Du die Combobox bei jedem Öffnen der Userform aktualisieren, indem Du den Code in das UserForm_Initialize()-Ereignis einfügst.
  • Benutzerfreundlichkeit: Überlege, zusätzliche Funktionen hinzuzufügen, wie das Filtern von Werten in der Combobox basierend auf Benutzereingaben.

FAQ: Häufige Fragen

1. Wie kann ich die Combobox so einstellen, dass sie nur einzigartige Werte zeigt?
Du kannst ein Collection-Objekt verwenden, um doppelte Werte zu vermeiden, bevor Du sie zur Combobox hinzufügst.

2. Kann ich die Werte der Combobox speichern, wenn die Userform geschlossen wird?
Ja, Du kannst die Werte in einer Variablen speichern und diese Werte beim nächsten Öffnen der Userform wieder in die Combobox 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