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

Forumthread: Combobox AddItem funktioniert nicht

Combobox AddItem funktioniert nicht
09.09.2004 11:33:38
Andy
Hallo!
Ich habe die folgende ComboBox. Leider funktioniert die AddItem-Methode nicht.
Woran könnte es liegen. Bei einer anderen Combobox hat dies funktioniert. (Einstellungen sind, nach aktuellem wissenstand, gleich)

Private Sub ComboBox1_Change()
With ComboBox1
.AddItem "01, bla"
.AddItem "02, bla"
.AddItem "03, bla"
.AddItem "04, bla"
.MatchRequired = True
End With
End Sub

Danke
Andy
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Combobox AddItem funktioniert nicht
09.09.2004 11:53:11
Klaus-Dieter
Hallo Andy,
das liegt am Change-Ereignis über das du die Inhalte einfügen willst. So würde es zum Beispiel gehen:

Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "01, bla"
.AddItem "02, bla"
.AddItem "03, bla"
.AddItem "04, bla"
.MatchRequired = True
End With
End Sub

Gruß Klaus-Dieter
Anzeige
AW: Combobox AddItem funktioniert nicht
09.09.2004 12:03:04
Andy
Hallo Klaus-Dieter
meine andere Combobox funktioniert aber auch mit
Private Sub ComboBox2_Change()
Kann man deinen Code nur in einer Userform einfügen? Ich habe die Combobox in einer Tabelle.
Gruß
Andy
AW: Combobox AddItem funktioniert nicht
09.09.2004 22:53:54
Klaus-Dieter
Hallo Andy,
wenn du dieses Makro in das Modul des Tabellenblattes mit der ComboBox kopierst, dann geht das auch:

Private Sub Worksheet_Activate()
With ComboBox1
.AddItem "01, bla"
.AddItem "02, bla"
.AddItem "03, bla"
.AddItem "04, bla"
.MatchRequired = True
End With
End Sub

Gruß Klaus-Dieter

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ComboBox AddItem in Excel VBA richtig verwenden


Schritt-für-Schritt-Anleitung

Um die AddItem-Methode für eine ComboBox in Excel VBA korrekt zu verwenden, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge eine ComboBox hinzu: Platziere eine ComboBox auf deiner UserForm oder deinem Arbeitsblatt.

  3. Code einfügen: Nutze den folgenden Code, um der ComboBox Elemente hinzuzufügen. Achte darauf, dass du die richtige Methode verwendest, um die Items hinzuzufügen.

    Private Sub UserForm_Initialize()
       With ComboBox1
           .AddItem "01, bla"
           .AddItem "02, bla"
           .AddItem "03, bla"
           .AddItem "04, bla"
           .MatchRequired = True
       End With
    End Sub

    Wenn du die ComboBox in einem Arbeitsblatt verwendest, kannst du den folgenden Code verwenden:

    Private Sub Worksheet_Activate()
       With ComboBox1
           .AddItem "01, bla"
           .AddItem "02, bla"
           .AddItem "03, bla"
           .AddItem "04, bla"
           .MatchRequired = True
       End With
    End Sub

Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die bei der Verwendung von AddItem in einer ComboBox auftreten können, sowie deren Lösungen:

  • Fehler: AddItem funktioniert nicht im Change-Ereignis.

    • Lösung: Verwende stattdessen UserForm_Initialize oder Worksheet_Activate, um die Items hinzuzufügen.
  • Fehler: ComboBox zeigt keine Items an.

    • Lösung: Stelle sicher, dass du den Code im richtigen Modul eingefügt hast (UserForm oder Arbeitsblattmodul).
  • Fehler: Die ComboBox hat keine MatchRequired-Einstellung.

    • Lösung: Überprüfe, ob du .MatchRequired = True gesetzt hast, wenn du sicherstellen möchtest, dass nur vordefinierte Items ausgewählt werden können.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, Items zu einer ComboBox hinzuzufügen:

  1. Hinzufügen von Items aus einem Bereich: Du kannst auch eine Liste von Items aus einem Zellbereich in Excel verwenden:

    Dim cell As Range
    For Each cell In Range("A1:A10")
       ComboBox1.AddItem cell.Value
    Next cell
  2. Verwendung von Arrays: Du kannst auch ein Array verwenden, um mehrere Items hinzuzufügen:

    Dim items As Variant
    items = Array("Item 1", "Item 2", "Item 3")
    Dim i As Integer
    For i = LBound(items) To UBound(items)
       ComboBox1.AddItem items(i)
    Next i

Praktische Beispiele

Hier sind einige praktische Beispiele, um die Verwendung von AddItem zu demonstrieren:

  1. Einfaches Beispiel mit UserForm:

    Private Sub UserForm_Initialize()
       ComboBox1.AddItem "Apfel"
       ComboBox1.AddItem "Birne"
       ComboBox1.AddItem "Kirsche"
    End Sub
  2. Beispiel mit dynamischen Daten:

    Private Sub Worksheet_Activate()
       Dim i As Integer
       For i = 1 To 10
           ComboBox1.AddItem "Item " & i
       Next i
    End Sub

Tipps für Profis

  • Verwende .List für mehrere Items: Anstatt AddItem einzeln zu verwenden, kannst du die gesamte Liste auf einmal hinzufügen:

    ComboBox1.List = Array("Item 1", "Item 2", "Item 3")
  • Vermeide Duplikate: Prüfe vor dem Hinzufügen eines Items, ob es bereits existiert:

    Dim item As String
    item = "Neues Item"
    If Application.CountIf(ComboBox1.List, item) = 0 Then
       ComboBox1.AddItem item
    End If

FAQ: Häufige Fragen

1. Warum funktioniert AddItem in ComboBox_Change nicht?
Die AddItem-Methode sollte nicht im Change-Ereignis verwendet werden, da dies zu unerwartetem Verhalten führen kann. Verwende stattdessen UserForm_Initialize oder Worksheet_Activate.

2. Kann ich AddItem in einer Tabelle verwenden?
Ja, du kannst AddItem auch in einer Tabelle verwenden, indem du den Code in das Modul des entsprechenden Arbeitsblattes einfügst.

3. Was ist der Unterschied zwischen UserForm_Initialize und Worksheet_Activate?
UserForm_Initialize wird aufgerufen, wenn die UserForm geladen wird, während Worksheet_Activate aufgerufen wird, wenn das Arbeitsblatt aktiv ist. Wähle je nach Bedarf die richtige Methode aus.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige