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

Forumthread: ActiveX Combobox dynamisch füllen

ActiveX Combobox dynamisch füllen
19.04.2016 22:00:25
Ron
Hallo,
ich habe in einer Arbeitsmappe über den Namensmanager einige Bereiche deklariert. Auf diese kann ich gut zugreifen (z.B über ein Formular, wo ich Comboboxen entsprechend befülle). Auf einem Tabellenblatt will ich nunmehr direkt mit ActiveX Elementen arbeiten. Combo1 soll als Einträge die im Bereich "Städte" definierte Liste anzeigen und in deren Abhängigkeit soll Combo2 befüllt werden. Das bekomme ich nicht hin. Ich habe die erste Box mit

Private Sub ComboBox1_DropButtonClick()
ListFillRange = Range("Staedte").Value
End Sub

versucht zu befüllen. Das klappt aber nicht. Wie bekomme ich das sauber hin und wie kann ich wenn in Combo1 "Berlin" gewählt wird, in Combo2 die Liste Berlin zuweisen lassen?
Ich danke Euch für Eure Hilfe und wünsche einen schönen Abend.
Grüße
Ron

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ActiveX Combobox dynamisch füllen
19.04.2016 22:11:52
Uduuh
Hallo,
die ListFillRange-Eigenschaft erfordert einen String.
Besser so:
Private Sub ComboBox1_DropButtonClick()
ComboBox1.List = Range("Staedte").Value
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: ActiveX Combobox dynamisch füllen
20.04.2016 00:03:21
Ron
Hallo Uduuh,
leider fliegt mir das mit Fehler 1004 - Methode Range für das Objekt Worksheet ist fehlgeschlagen um die Ohren. Muß ich da den Sheet direkt ansprechen, ich dachte das das durch den Namen schon klar wäre...
Grüße und Dank im voraus
Ron

AW: ActiveX Combobox dynamisch füllen
20.04.2016 09:15:10
UweD
Hallo
hast du den Code auch im VBA Bereich des richtigen Blattes abgelegt?
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- hier muss das Makro stehen
Lauft Bestens bei mir...
Gruß UweD
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ActiveX Combobox dynamisch füllen in Excel


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Daten: Stelle sicher, dass du einen benannten Bereich "Städte" in deiner Excel-Arbeitsmappe hast, der die Städte enthält, die in der ActiveX Combobox angezeigt werden sollen.

  2. Einfügen der ActiveX Combobox:

    • Gehe zu Entwicklertools > Einfügen und wähle die ActiveX-ComboBox aus.
    • Klicke auf das Arbeitsblatt, um die ComboBox einzufügen.
  3. Code für die ComboBox hinzufügen:

    • Rechtsklicke auf den Reiter des Arbeitsblatts, in dem die ComboBox ist, und wähle Code anzeigen.
    • Füge folgenden Code für die erste ComboBox (ComboBox1) ein:
    Private Sub ComboBox1_DropButtonClick()
       ComboBox1.List = Range("Staedte").Value
    End Sub
  4. Zweite ComboBox (ComboBox2) dynamisch füllen:

    • Füge einen weiteren Code hinzu, um ComboBox2 basierend auf der Auswahl von ComboBox1 zu befüllen:
    Private Sub ComboBox1_Change()
       If ComboBox1.Value = "Berlin" Then
           ComboBox2.List = Array("Sehenswürdigkeit 1", "Sehenswürdigkeit 2")
       ElseIf ComboBox1.Value = "Hamburg" Then
           ComboBox2.List = Array("Sehenswürdigkeit A", "Sehenswürdigkeit B")
       End If
    End Sub
  5. Testen der Funktionalität:

    • Wechsel in den Entwurfsmodus und teste die ComboBoxen, um sicherzustellen, dass sie wie gewünscht funktionieren.

Häufige Fehler und Lösungen

  • Fehler 1004 - Methode Range für das Objekt Worksheet ist fehlgeschlagen:

    • Stelle sicher, dass der Bereich "Staedte" korrekt definiert ist. Du kannst auch versuchen, auf das spezifische Blatt zuzugreifen, indem du den Blattnamen in deinem Code angibst, z.B. Sheets("Blattname").Range("Staedte").Value.
  • ComboBox nicht sichtbar oder leer:

    • Vergewissere dich, dass du im Entwurfsmodus bist und die ComboBoxen richtig eingefügt wurden.

Alternative Methoden

Falls du keine ActiveX Controls verwenden möchtest, kannst du auch die reguläre ComboBox aus der Formularsteuerung verwenden. Diese Methode ist einfacher, erfordert jedoch mehr manuelle Anpassungen.

  1. Füge eine normale ComboBox aus der Formularsteuerung ein.
  2. Verwende die Datenüberprüfung-Funktion, um die Liste der Städte zu befüllen.

Praktische Beispiele

  • Beispiel für eine Excel ActiveX Combobox: Wenn du eine Combobox erstellst, um verschiedene Städte und ihre Sehenswürdigkeiten anzuzeigen, kannst du den oben genannten Code anpassen, um spezifische Daten für jede Stadt zu laden.

  • Dynamisches Füllen mit einer Liste: Du kannst Excel-Daten dynamisch füllen, indem du die Listen in der ComboBox anpasst, abhängig von den vorherigen Auswahlmöglichkeiten.


Tipps für Profis

  • Verwendung von Arrays: Nutze Arrays in VBA, um mehrere Werte effizient in eine ComboBox zu laden. Dies kann die Leistung verbessern und die Lesbarkeit des Codes erhöhen.

  • Verkettung von Bedingungen: Wenn du viele Städte hast, ziehe in Betracht, eine Select Case-Anweisung zu verwenden, um den Code übersichtlicher zu gestalten.


FAQ: Häufige Fragen

1. Frage: Wie kann ich die ActiveX Combobox in einer bestimmten Excel-Version nutzen? Du kannst die ActiveX Combobox in Excel 2010 und späteren Versionen nutzen. Stelle sicher, dass die Entwicklertools aktiviert sind.

2. Frage: Kann ich die ActiveX Combobox auch in anderen Anwendungen verwenden? ActiveX-Controls sind spezifisch für Excel und andere Microsoft Office-Anwendungen. Du kannst diese nicht in anderen Programmen wie Google Sheets verwenden.

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