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

Forumthread: Combobox in Abhängigkeit einer anderen füllen

Combobox in Abhängigkeit einer anderen füllen
30.10.2005 11:43:43
Thomas
Hallo liebe Excel Helfer,
in einer UserForm habe ich 2 Comboboxen eingebaut. Die zweite ComboBox fülle ich in Abhängigkeit mit der ersten ComboBox.
Das Makro hierfür habe ich im Archiv gefunden und auf meine Bedürfnisse angepasst. Wenn ich im Tabellenblatt1 bin wo auch die Daten stehen funktioniert es ganz prima.Soweit so gut.
Wenn ich aber einen Commandbutton in Tabelle2 habe und auf die gleiche Userform zugreife, werden mir die Abhängigkeiten aus ComboBox2 nicht mehr angezeigt.
Wer kann mir helfen das Makro so abzuändern, das das ganze auch aus Tabelle2
funzt.
Beispieltabelle anbei:
https://www.herber.de/bbs/user/27961.xls
Vielen Dank für Eure Hilfe.
Gruß
Thomas
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Combobox in Abhängigkeit einer anderen füllen
30.10.2005 11:50:44
Unbekannter
Weil wenn du auf dem 2. Blatt bist das Makro die Daten aud der 2 hohl weil du es nicht genau angegeben hast.

Private Sub ComboBox1_Change()
Dim arr As Variant
arr = Sheets(1).Range("b" & ComboBox1.ListIndex + 1 & ":k" & ComboBox1.ListIndex + 1)
ComboBox2.Column = arr
End Sub

Gruß UN1
Anzeige
AW: Danke UN1
30.10.2005 15:27:50
Thomas
Hallo Unbekannter Nummer Eins,
vielen Dank,
jetzt funzt es und ich verstehe auch warum.
Gruß
Thomas
;

Forumthreads zu verwandten Themen

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

ComboBox in Abhängigkeit einer anderen füllen


Schritt-für-Schritt-Anleitung

Um eine ComboBox in Abhängigkeit von einer anderen zu füllen, folge diesen Schritten:

  1. Öffne die UserForm in Excel, in die du die ComboBoxen einfügen möchtest.

  2. Füge zwei ComboBoxen hinzu: ComboBox1 und ComboBox2.

  3. Erstelle einen CommandButton, um die UserForm zu öffnen.

  4. Füge den folgenden VBA-Code in das Codefenster der UserForm ein:

    Private Sub ComboBox1_Change()
       Dim arr As Variant
       arr = Sheets(1).Range("b" & ComboBox1.ListIndex + 1 & ":k" & ComboBox1.ListIndex + 1)
       ComboBox2.Column = arr
    End Sub
  5. Verknüpfe den CommandButton mit der UserForm, sodass die ComboBoxen angezeigt werden.

  6. Teste die Funktionalität: Wähle einen Wert in ComboBox1 und beobachte, wie ComboBox2 entsprechend gefüllt wird.

Achte darauf, dass du die richtigen Datenbereiche in deinem Arbeitsblatt verwendest.


Häufige Fehler und Lösungen

  • Problem: Die Abhängigkeit von ComboBox2 funktioniert nicht, wenn du die UserForm über ein anderes Tabellenblatt aufrufst.

    • Lösung: Stelle sicher, dass der Code auf die korrekten Datenblätter verweist, wie im Beispiel oben.
  • Problem: ComboBox2 bleibt leer.

    • Lösung: Überprüfe, ob ComboBox1 tatsächlich einen Wert hat und dass die Daten in der angegebenen Range korrekt sind.

Alternative Methoden

Eine alternative Methode besteht darin, die Werte für ComboBox2 manuell zu definieren, abhängig von der Auswahl in ComboBox1. Dies kann durch eine Select Case-Struktur erreicht werden:

Private Sub ComboBox1_Change()
    ComboBox2.Clear
    Select Case ComboBox1.Value
        Case "Option1"
            ComboBox2.AddItem "SubOption1"
            ComboBox2.AddItem "SubOption2"
        Case "Option2"
            ComboBox2.AddItem "SubOption3"
            ComboBox2.AddItem "SubOption4"
    End Select
End Sub

Praktische Beispiele

Um sicherzustellen, dass die ComboBoxen korrekt funktionieren, kannst du folgendes Beispiel verwenden:

  1. Daten in Tabelle1:

    • Spalte B: „Option1“, „Option2“
    • Spalte C: „SubOption1“, „SubOption2“ für „Option1“ und „SubOption3“, „SubOption4“ für „Option2“.
  2. Wende den obigen Code an und teste die Funktionalität in deiner UserForm.


Tipps für Profis

  • Verwende benannte Bereiche: Dies erleichtert das Management der Daten und macht den Code übersichtlicher.
  • Fehlerbehandlung hinzufügen: Implementiere On Error Resume Next, um unerwartete Fehler während der Ausführung zu vermeiden.
  • Dynamische Daten: Überlege, ob du die Daten aus einer Datenbank oder einer externen Quelle abrufen möchtest, um die Flexibilität zu erhöhen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die ComboBoxen in einer bestimmten Reihenfolge sortieren?
Antwort: Du kannst die Elemente in der ComboBox vor dem Hinzufügen sortieren, indem du sie in ein Array speicherst, das Array sortierst und dann die sortierten Werte hinzufügst.

2. Frage
Kann ich die ComboBoxen auch ohne VBA verwenden?
Antwort: Die Abhängigkeit zwischen mehreren ComboBoxen lässt sich ohne VBA in Excel nicht realisieren, da dies eine programmatische Logik erfordert.

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