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

Forumthread: Mehrere Spalten als Quelle für ComboBox.RowSource

Mehrere Spalten als Quelle für ComboBox.RowSource
18.02.2019 17:25:26
Oliver
Hallo
Ich hab eine Userform mit einer Combobox. Diese soll mit .RowSource Daten aus dem gleihen Arbeitsblatt für die Box holen und bereitstellen. Nur funktioniert der Befehl nur, wenn die Daten in ein Spalte auf mehrern Zeilen zur Verfügung stellen (ComboBox1). Bei mir sind die Dsten jedoch auf einer Zeile bei aufeinanderfolgenen Spalten verteilt (Comboox2). Wie krieg ich nun hin, dass die Combobox2 die Daten aus den Spalten als Auswahlmöglichkeit bietet?
Danke im Voraus
Code:
Private Sub UserForm_Initialize()
Worksheets("Werte").Activate
UserForm1.ComboBox1.RowSource = "A2:A9"
Worksheets("Daten").Activate
UserForm1.ComboBox2.RowSource = "F2:O2"
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Grossposting
18.02.2019 17:35:59
Werni
Hallo
Hier geht's weiter
https://www.clever-excel-forum.de/thread-19394.html
Gruss Werni
AW: Mehrere Spalten als Quelle für ComboBox.RowSource
18.02.2019 18:03:30
onur
Transponiere sie irgendwo auf dem Blatt mit MTRANS und nimm diese Zellen als RowSource.
Siehe Beispiel:
https://www.herber.de/bbs/user/127738.xlsm
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Kombinieren von Spalten in der ComboBox.RowSource


Schritt-für-Schritt-Anleitung

Um mehrere Spalten als Quelle für die ComboBox.RowSource in einer Excel Userform zu verwenden, kannst du die folgenden Schritte befolgen. Dieses Beispiel setzt voraus, dass du mit VBA in Excel arbeitest:

  1. Öffne das Visual Basic for Applications (VBA) Fenster:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle eine Userform:

    • Klicke mit der rechten Maustaste auf ein Projekt im Projektfenster und wähle Einfügen > Userform.
  3. Füge eine ComboBox hinzu:

    • Ziehe eine ComboBox auf die Userform aus der Toolbox.
  4. Füge den folgenden Code zum Userform hinzu:

Private Sub UserForm_Initialize()
    Worksheets("Werte").Activate
    UserForm1.ComboBox1.RowSource = "A2:A9" ' Erste ComboBox
    ' Hier wird die zweite ComboBox mit mehreren Spalten gefüllt
    UserForm1.ComboBox2.RowSource = "F2:O2" ' Mehrere Spalten in einer Zeile
End Sub
  1. Starte die Userform:
    • Führe den Code aus und überprüfe, ob die ComboBox die gewünschten Werte anzeigt.

Häufige Fehler und Lösungen

  • Problem: Die ComboBox zeigt keine Werte an.

    • Lösung: Überprüfe, ob der angegebene Bereich korrekt ist und tatsächlich Werte enthält.
  • Problem: Die RowSource funktioniert nicht mit mehreren Zeilen.

    • Lösung: Stelle sicher, dass die Daten in einer Zeile (z.B. F2:O2) angegeben sind, wenn du mehrere Spalten verwendest.

Alternative Methoden

Eine alternative Methode zur Verwendung mehrerer Spalten in der ComboBox besteht darin, die Daten zu transponieren. Du kannst die Funktion MTRANS verwenden, um die Daten zu transformieren und sie dann als RowSource zu verwenden. Hier ist ein Beispiel:

Private Sub UserForm_Initialize()
    Worksheets("Werte").Activate
    UserForm1.ComboBox1.RowSource = "A2:A9"
    ' Transponiere die Daten
    Worksheets("Werte").Range("F2:O2").Copy
    Worksheets("Daten").Range("A1").PasteSpecial Transpose:=True
    UserForm1.ComboBox2.RowSource = "Daten!A1:A15" ' Angenommene Zeilenanzahl
End Sub

Praktische Beispiele

Ein praktisches Beispiel für die Nutzung der ComboBox.RowSource in Excel könnte so aussehen:

  • Du hast eine Tabelle mit Produktnamen in den Spalten F bis O und möchtest diese in einer ComboBox anzeigen.
  • Setze die RowSource wie beschrieben, um die Produkte in der Userform auszuwählen.

Hier ist ein Beispielcode, um die Produkte aus den Spalten F bis O zu laden:

Private Sub UserForm_Initialize()
    UserForm1.ComboBox2.RowSource = "Werte!F2:O2" ' Produkte in einer Zeile
End Sub

Tipps für Profis

  • Verwende dynamische Bereichsnamen: Du kannst dynamische Namen in Excel definieren, um die RowSource automatisch zu aktualisieren, wenn neue Daten hinzugefügt werden.
  • Verwende die List-Eigenschaft: Anstelle von RowSource kannst du auch die List-Eigenschaft der ComboBox verwenden, um die Daten manuell zu setzen, was mehr Kontrolle über die angezeigten Werte bietet.
Private Sub UserForm_Initialize()
    Dim i As Long
    For i = 6 To 15 ' Angenommene Zeilenanzahl
        UserForm1.ComboBox2.AddItem Worksheets("Werte").Cells(2, i).Value
    Next i
End Sub

FAQ: Häufige Fragen

1. Frage
Kann ich die RowSource einer ComboBox zur Laufzeit ändern?
Ja, du kannst die RowSource jederzeit im Code ändern, um die angezeigten Werte dynamisch zu aktualisieren.

2. Frage
Was kann ich tun, wenn die Daten in einer Tabelle stehen?
Du kannst den Namen der Tabelle in der RowSource-Eigenschaft verwenden, um direkt auf die Daten zuzugreifen, zum Beispiel: Table1[Column1].

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