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

Forumthread: Dropdown-Liste in UserForm erstellen (VBA)

Dropdown-Liste in UserForm erstellen (VBA)
06.08.2019 09:03:03
Michel
Moin moin,
ich habe mittels einer Data Entry Form eine Eingabemaske erstellt, mit der verschiedene Werte einer Liste beigefügt werden, sobald die einzelnen Textboxen beschrieben werden. Das Hinzufügen klappt alles super.
Nun brauche ich für drei der sechs Textboxen ein Dropdown. In die ersten drei soll also ganz normal ein Text zu schreiben sein und in die anderen drei sollen jeweils ein Dropdown haben (die Werte dazu sind in der gleichen Excel-Datei)
Ich benötige also einen Code für:
1. Dropdown Menü für eine Textbox
2. Daten dazu aus einem Tabellenblatt aus dieser Datei
Ich bedanke mich im Voraus für Hilfe!
VG
Michel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Eine Textbox mit Dropdown ...
06.08.2019 10:01:36
{Boris}
Hi,
...ist eine Combobox. Der Rest sollte dann einfach sein.
VG Boris
AW: Eine Textbox mit Dropdown ...
06.08.2019 11:42:00
Michel
Hi,
geht das auch mit einer ListBox? Ich benötige ja nur eine Quelle für die Liste und es gibt nur eine Spalte. Und das dann jeweils drei mal.
Und mit welcher Funktion hole ich die Quelle?
Danke
VG
Michel
Anzeige
Bei Deinem angegebenen Excel-Level...
06.08.2019 12:28:28
{Boris}
Hi,
...Profi bzw. VBA gut habe ich vermutet, dass Dir das bekannt ist.
Natürlich geht das auch mit einer Listbox.
Für beide werden die Werte mit RowSource zugewiesen - entweder direkt im Eigenschaftenfenster des Steuerelements oder aber zur Laufzeit im Code.
VG, Boris
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dropdown-Liste in UserForm erstellen mit VBA


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne Excel und gehe zu Entwicklertools > Visual Basic. Klicke mit der rechten Maustaste auf VBAProject (DeineDateiName) und wähle Einfügen > UserForm.

  2. Steuerelemente hinzufügen: Füge eine ComboBox oder ListBox zu deiner UserForm hinzu. Du kannst dies aus der Toolbox ziehen.

  3. Datenquelle festlegen:

    • Wenn du eine ComboBox verwendest, kannst du die RowSource-Eigenschaft im Eigenschaftenfenster anpassen oder im Code:
      ComboBox1.RowSource = "Tabelle1!A1:A10"
  4. Code zur Initialisierung: Um die Dropdown-Liste beim Laden der UserForm zu füllen, füge folgenden Code in das UserForm-Modul ein:

    Private Sub UserForm_Initialize()
       ComboBox1.RowSource = "Tabelle1!A1:A10"
    End Sub
  5. UserForm anzeigen: Um die UserForm zu testen, kannst du einen Button in Excel hinzufügen, der die UserForm öffnet:

    Sub ShowUserForm()
       UserForm1.Show
    End Sub

Häufige Fehler und Lösungen

  • Dropdown wird nicht gefüllt: Überprüfe, ob die Datenquelle korrekt angegeben ist. Achte darauf, dass der Tabellenname und der Zellbereich stimmen.

  • UserForm öffnet sich nicht: Stelle sicher, dass der Code zur Anzeige der UserForm korrekt ist und keine Syntaxfehler enthält.


Alternative Methoden

  • VBA InputBox mit Dropdown: Du kannst auch eine InputBox verwenden und die Auswahl mit einer ComboBox umsetzen. Beachte, dass die Benutzererfahrung hier anders ist.

  • Dropdown in Excel direkt erstellen: Wenn du keine UserForm verwenden möchtest, kannst du eine Dropdown-Liste direkt in Excel über die Datenüberprüfung-Funktion erstellen.


Praktische Beispiele

  • Excel Eingabemaske mit Dropdown: Erstelle eine UserForm, die Benutzereingaben erfordert, und füge mehrere Dropdown-Listen für verschiedene Eingaben hinzu.

  • Combobox mit dynamischer Datenquelle: Nutze eine dynamische Datenquelle, um die Dropdown-Liste aktuell zu halten, indem du die RowSource zur Laufzeit anpasst:

    ComboBox1.RowSource = "Tabelle1!A" & Range("A" & Rows.Count).End(xlUp).Row

Tipps für Profis

  • Verwendung von VBA Arrays: Du kannst auch ein VBA-Array verwenden, um die Werte für deine Dropdown-Liste festzulegen, was die Flexibilität erhöht:

    Dim MyArray() As String
    MyArray = Split("Wert1,Wert2,Wert3", ",")
    ComboBox1.List = MyArray
  • Ereignisgesteuerte Programmierung: Nutze Ereignisse wie Change oder Click, um dynamisch auf die Auswahl in deiner Dropdown-Liste zu reagieren.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Dropdown-Listen in einer UserForm erstellen?
Du kannst mehrere ComboBoxes oder ListBoxes zu deiner UserForm hinzufügen und jede mit einer eigenen Datenquelle verknüpfen.

2. Kann ich die Dropdown-Liste dynamisch aktualisieren?
Ja, indem du den Code zur Initialisierung der UserForm anpasst, kannst du die Datenquelle dynamisch festlegen, z.B. durch Verweise auf Zellen, die sich ändern können.

3. Ist es möglich, eine Dropdown-Liste in einer InputBox zu verwenden?
Eine standardmäßige InputBox unterstützt keine Dropdown-Listen, aber du kannst eine UserForm mit einer ComboBox als Alternative nutzen.

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