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

ComboBox.Clear

Forumthread: ComboBox.Clear

ComboBox.Clear
19.10.2008 18:46:37
Robin
Hallo Leute,
ich versuche grad, ein paar ComboBoxen zu resetten mit ComboBox.Clear. Das leert auch schön alle Items, aber die Anzeige des zuletzt gewählten Items bleibt leider bestehen. Ich hätte gerne, die Box selbst auch leer ist. Verstanden? Weiß nicht so recht, wie ich das beschreiben soll.
Habe also eine Box mit
- Item 1
- Item 2
- Item 3
Habe Item 2 ausgewählt, mache ComboBox.Clear, die Liste ist leer, aber da steht immer noch "Item 2", wenn ich die Box nicht geöffnet habe.
Vielen Dank für eure Hilfe!!!
Gruß
Robin
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox1.Value= "" ? o.T.
19.10.2008 19:24:56
Gerd
Gruß Gerd
Anzeige
;
Anzeige

Infobox / Tutorial

ComboBox in Excel mit VBA leeren


Schritt-für-Schritt-Anleitung

Um eine ComboBox in Excel VBA vollständig zu leeren, einschließlich der Anzeige des zuletzt gewählten Items, kannst du folgende Schritte befolgen:

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

  2. Finde die ComboBox: Suche das UserForm, das die ComboBox enthält.

  3. Verwende den folgenden Code:

    With ComboBox1
       .Clear ' Löscht alle Items in der ComboBox
       .Value = "" ' Setzt den angezeigten Wert auf leer
    End With

    Ersetze ComboBox1 durch den Namen deiner ComboBox.

  4. Führe den Code aus: Du kannst den Code im entsprechenden Event (z.B. einem Button-Klick) einfügen, um die ComboBox zu leeren.

Mit diesen Schritten kannst du die ComboBox vollständig zurücksetzen, sodass keine vorherige Auswahl mehr angezeigt wird.


Häufige Fehler und Lösungen

  • Problem: ComboBox.Clear löscht die Items, aber der angezeigte Wert bleibt bestehen.

    • Lösung: Setze den Wert der ComboBox auf leer, indem du .Value = "" verwendest, wie oben beschrieben.
  • Problem: Der Code funktioniert nicht in einer bestimmten Excel-Version.

    • Lösung: Stelle sicher, dass du die richtige Version von Excel verwendest, die VBA unterstützt. In Excel 2007 und später sollte der Code funktionieren.

Alternative Methoden

Falls du eine ComboBox in einem Arbeitsblatt (nicht in einem UserForm) hast, kannst du die ComboBox auch über die Eigenschaften im Arbeitsblatt zurücksetzen. Verwende dazu:

Sheets("DeinBlatt").ComboBox1.Clear
Sheets("DeinBlatt").ComboBox1.Value = ""

Das funktioniert ähnlich wie im UserForm, jedoch direkt auf dem Arbeitsblatt.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du eine ComboBox mit Werten füllen und anschließend leeren kannst:

Sub BeispielComboBox()
    With ComboBox1
        .AddItem "Item 1"
        .AddItem "Item 2"
        .AddItem "Item 3"

        ' ComboBox leeren
        .Clear
        .Value = ""
    End With
End Sub

In diesem Beispiel wird die ComboBox zunächst mit drei Items gefüllt und danach vollständig geleert.


Tipps für Profis

  • Nutzung von Schleifen: Wenn du mehrere ComboBoxen auf einmal leeren möchtest, kannst du eine Schleife verwenden, um den Code zu optimieren.

    Dim ctrl As Control
    For Each ctrl In Me.Controls
      If TypeOf ctrl Is MSForms.ComboBox Then
          ctrl.Clear
          ctrl.Value = ""
      End If
    Next ctrl
  • Error Handling: Füge Error-Handling in deinen Code ein, um sicherzustellen, dass unerwartete Fehler elegant behandelt werden.


FAQ: Häufige Fragen

1. Wie kann ich mehrere ComboBoxen auf einmal leeren?
Du kannst eine Schleife verwenden, um jede ComboBox zu durchlaufen und sie mit .Clear und .Value = "" zu leeren.

2. Funktioniert dieser Code in Excel 2010?
Ja, der Code sollte in Excel 2010 sowie in neueren Versionen ohne Probleme funktionieren. Stelle sicher, dass VBA aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige