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

Forumthread: VBA ComboBox mit Wert und Array füllen

VBA ComboBox mit Wert und Array füllen
16.12.2017 23:09:34
Henner
Hallo zusammen
Ich befülle meine ComboBox wie folgt, funktioniert auch einwandfrei.

ReDim arr(intMin To intMax)
For L = intMin To intMax
arr(L) = L
Next
Me.ComboBox3.List = arr
Nun möchte ich als ersten Wert in der ComboBox nicht den ersten Wert vom Array stehen haben, sondern das Wort "Test". Schreibe ich das Wort vor Einlesen des Arrays in die ComboBox (AddItem), wird es vom Array wieder überschrieben. Mache ich es nach dem Einlesen des Arrays funktioniert es, aber das Wort steht ganz unten in der Liste. Soll aber wie geschrieben nach ganz oben.
Vielen Dank für Eure Hilfe und Gruss, Henner
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA ComboBox mit Wert und Array füllen
16.12.2017 23:15:36
Sepp
Hallo Henner,
warum der Umweg über das Array?
Me.ComboBox3.AddItem "Test"

For L = intMin To intMax
  Me.ComboBox3.AddItem L
Next

Gruß Sepp

Anzeige
Vielen Dank an Euch 3!
16.12.2017 23:49:06
Henner
Hallo zusammen
Alle Versionen funktinieren einwandfrei und sind für mich lehrreiche Ansätze. Ich habe mich für die Version von Sepp entschieden, da das Array tatsächlich nicht (mehr) erforderlich ist.
Wünsche Euch allen einen schönen 4. Advent! Gruss Henner
AW: VBA ComboBox mit Wert und Array füllen
16.12.2017 23:25:05
onur

ReDim arr(intMin-1 To intMax)
For L = intMin To intMax
arr(L) = L
Next
arr(intMin-1)="Test"
Me.ComboBox3.List = arr

Anzeige
AW: VBA ComboBox mit Wert und Array füllen
16.12.2017 23:25:35
Mullit
Hallo,
...gib den Index mit an, dann könntest Du auch hinterher befüllen...
Call Me.ComboBox3.AddItem(pvargItem:="Test", pvargIndex:=0)

Gruß, Mullit
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA ComboBox mit Wert und Array füllen


Schritt-für-Schritt-Anleitung

Um eine ComboBox (auch Kombinationsfeld genannt) in Excel VBA zu füllen, kannst du verschiedene Ansätze nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung, wie du eine ComboBox mit einem Array und einem Wert befüllen kannst:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine_datei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Dim arr() As Variant
    Dim intMin As Integer
    Dim intMax As Integer
    intMin = 1
    intMax = 5
    
    ' Array initialisieren
    ReDim arr(intMin To intMax)
    For L = intMin To intMax
       arr(L) = L
    Next
    
    ' Wert "Test" hinzufügen
    Me.ComboBox3.AddItem "Test"
    ' Array zuweisen
    Me.ComboBox3.List = arr
  4. Führe das Makro aus: Stelle sicher, dass die ComboBox auf einem UserForm platziert ist und führe das Makro aus.

Durch diesen Ansatz kannst du die ComboBox mit einem spezifischen Wert (z.B. "Test") und den Werten aus einem Array füllen.


Häufige Fehler und Lösungen

  • Fehler: „Die ComboBox wird nicht gefüllt.“

    • Lösung: Überprüfe, ob die ComboBox korrekt auf dem UserForm platziert ist und ob der Code im richtigen Kontext ausgeführt wird.
  • Fehler: „Der Wert wird nicht an oberster Stelle angezeigt.“

    • Lösung: Füge den Wert zuerst hinzu, bevor du das Array zuweist, wie im obigen Beispiel gezeigt.

Alternative Methoden

Es gibt auch andere Möglichkeiten, eine ComboBox zu füllen:

  1. Direkte Zuweisung von Werten ohne Array:

    Me.ComboBox3.AddItem "Wert 1"
    Me.ComboBox3.AddItem "Wert 2"
  2. Verwendung einer Liste:

    Dim items As Variant
    items = Array("Test", "Wert 1", "Wert 2")
    For Each item In items
       Me.ComboBox3.AddItem item
    Next item

Diese Methoden können hilfreich sein, wenn du keine Arrays verwenden möchtest oder einfach direkt Werte hinzufügen willst.


Praktische Beispiele

Hier sind einige Beispiele, wie du die ComboBox füllen kannst:

  • Mit einer Schleife und einem Array:

    Dim arr() As Variant
    arr = Array("Apfel", "Banane", "Kirsche")
    For i = LBound(arr) To UBound(arr)
       Me.ComboBox3.AddItem arr(i)
    Next i
  • Mit festen Werten:

    Me.ComboBox3.AddItem "Option A"
    Me.ComboBox3.AddItem "Option B"
    Me.ComboBox3.AddItem "Option C"

Tipps für Profis

  • Verwende ComboBox.List für effizientes Füllen: Wenn du viele Werte hast, kannst du das gesamte Array auf einmal zuweisen, um die Leistung zu verbessern.

    Dim arr() As Variant
    arr = Array("Wert 1", "Wert 2", "Wert 3")
    Me.ComboBox3.List = arr
  • VBA-Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Probleme beim Füllen der ComboBox zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich eine ComboBox in einem UserForm füllen? Du kannst die ComboBox in einem UserForm füllen, indem du den entsprechenden Code in die UserForm_Initialize-Methode einfügst.

2. Wie kann ich die Werte in einer ComboBox nachträglich ändern? Du kannst die Werte in einer ComboBox ändern, indem du sie mit ComboBox.Clear zurücksetzt und dann erneut mit AddItem oder einem Array füllst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige