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

combobox leeren

Forumthread: combobox leeren

combobox leeren
16.11.2016 15:27:14
Thomas Fuchs

Hallo Zusammen,
ich habe ein probelm mit ner Combobox. Die Werte werden aus der Tabelle sauber eingelesen, doch wenn ich fälschlicherweise eines ausgewählt habe kann ich es nicht mehr löschen.
Das steht in der Combobox:


Private Sub Combobox3_change()
TextBox25 = WorksheetFunction.VLookup(ComboBox3, Worksheets("Artikel").Range("a1:g80"),  _
_
_
_
2, False)
TextBox35 = WorksheetFunction.VLookup(ComboBox3, Worksheets("Artikel").Range("a1:g80"),  _
_
_
_
4, False)
End Sub

So werden die Daten gesammelt wenn sich in einer anderen combobox was ändert:

Private Sub ComboBox2_Change()
For h = 1 To 30
ComboBox3.AddItem Artikel.Cells(h, 11).Value
Next h
End Sub

Ich hoffe ich hab es ausreichend beschrieben.
Bei Fragen bitte schreiben.
Wär super wenn ihr mir weiterhelfen könnt.
Gr Tom

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: combobox leeren
16.11.2016 20:49:16
Bastian
Hey ho
ComboBox2.Clear 
Löscht alles in der CB
vorm füllen der CB einfügen
oder ein bestimmtes item löschen
ComboBox1.RemoveItem(0)
0 ist das erste item in der CB
Gruß Basti
AW: combobox leeren
16.11.2016 23:41:38
snb

Private sub Userform_Initialize()
combobox1.list=sheets("Artikel").Range("a1:g80").value
end sub

Private sub Combobox1_change()
TextBox25.text=combobox1.column(2)
Textbox26.Text=combobox1.column(3)
End sub

Anzeige
AW: combobox leeren
17.11.2016 06:54:31
Thomas Fuchs
Ja cool.
Danke euch. Werde es heute gleich mal ausprobieren.
Gr tom
AW: combobox leeren
17.11.2016 07:57:43
Thomas Fuchs
Hallo zusammen,
ich habe es getestet, hat aber leider nicht so ganz funktioniert.
Dann hab ich es anders probiert.
so hat es dann funktioniert.
Private Sub Combobox3_change()
If Not ComboBox3 = "" Then
TextBox25 = WorksheetFunction.VLookup(ComboBox3, Worksheets("Artikel").Range("a1:g80"),  _
2, False)
TextBox35 = WorksheetFunction.VLookup(ComboBox3, Worksheets("Artikel").Range("a1:g80"),  _
4, False)
End If
End Sub
Der Fehler war in der Suche um die beiden Textboxen zu füllen, denn sobald die combobox leer war (sich auf leer geändert hatte) hat er nichts mehr bei der Suche gefunden und dann kam der Fehler.
Trotzdem vielen dank für eure Antworten.
Gr tom

Anzeige
;
Anzeige

Infobox / Tutorial

Combobox in Excel VBA leeren und verwalten


Schritt-für-Schritt-Anleitung

Um eine Combobox in Excel VBA zu leeren, kannst Du die Clear-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Finde Deine Userform: Suche im Projekt-Explorer nach der Userform, die die Combobox enthält.

  3. Doppelklicke auf die Userform: Dies öffnet den Code-Editor für die Userform.

  4. Füge den folgenden Code ein, um die Combobox zu leeren:

    Private Sub Userform_Initialize()
       ComboBox1.Clear
       ' Hier kannst Du weitere Initialisierungen vornehmen
    End Sub
  5. Um ein bestimmtes Element zu entfernen, verwende:

    ComboBox1.RemoveItem(0) ' Entfernt das erste Element
  6. Verknüpfe die Combobox mit einer anderen: Wenn Du die Combobox basierend auf einer Auswahl in einer anderen Combobox aktualisieren möchtest, benutze:

    Private Sub ComboBox2_Change()
       ComboBox3.Clear ' Leert die Combobox3 vor dem Hinzufügen neuer Items
       For h = 1 To 30
           ComboBox3.AddItem Artikel.Cells(h, 11).Value
       Next h
    End Sub

Häufige Fehler und Lösungen

Ein häufiger Fehler beim Arbeiten mit Comboboxes ist, dass man versucht, auf Elemente zuzugreifen, die nicht existieren. Hier sind Lösungen für einige typische Probleme:

  • Fehler beim Zugriff auf leere Combobox: Wenn Du versuchst, einen Wert aus der Combobox zu lesen, während sie leer ist, tritt ein Fehler auf. Stelle sicher, dass Du die Combobox zuerst auf einen Wert prüfst:

    If Not ComboBox3 = "" Then
       ' Dein Code hier
    End If
  • Combobox wird nicht aktualisiert: Wenn Du die Combobox mit neuen Werten füllen möchtest, stelle sicher, dass Du sie zuerst leerst:

    ComboBox3.Clear

Alternative Methoden

Es gibt verschiedene Methoden, um mit einer Combobox in Excel VBA zu arbeiten:

  • Verwendung von Arrays: Du kannst ein Array verwenden, um die Items hinzuzufügen und die Combobox zu füllen:

    Dim itemsArray() As String
    itemsArray = Split("Item1,Item2,Item3", ",")
    ComboBox1.List = itemsArray
  • Daten aus einer Tabelle: Du kannst die Werte auch direkt aus einer Excel-Tabelle lesen:

    ComboBox1.List = Sheets("Artikel").Range("A1:A10").Value

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du eine Combobox in Excel VBA verwalten kannst:

  1. Füllen einer Combobox mit Werten aus einer Tabelle:

    Private Sub Userform_Initialize()
       ComboBox1.List = Sheets("Artikel").Range("A1:A10").Value
    End Sub
  2. Dynamisches Aktualisieren:

    Private Sub ComboBox1_Change()
       TextBox25.Text = ComboBox1.Column(1) ' Setzt TextBox25 basierend auf der Auswahl in ComboBox1
    End Sub

Tipps für Profis

  • Verwende die With-Anweisung: Um den Code leserlicher zu gestalten, kannst Du die With-Anweisung verwenden:

    With ComboBox3
       .Clear
       .AddItem "Neuer Eintrag"
    End With
  • Vermeide Duplikate: Stelle sicher, dass Du keine doppelten Einträge hinzufügst:

    If Not ComboBox3.ListContains("Neuer Eintrag") Then
       ComboBox3.AddItem "Neuer Eintrag"
    End If

FAQ: Häufige Fragen

1. Wie kann ich eine Combobox beim Start der Userform leeren?
Verwende die Clear-Methode im Userform_Initialize()-Ereignis.

2. Kann ich mehrere Items auf einmal aus einer Combobox löschen?
Ja, Du kannst die RemoveItem-Methode in einer Schleife verwenden, um mehrere Items zu entfernen.

3. Wie kann ich die Auswahl in einer Combobox zurücksetzen?
Setze die Value-Eigenschaft der Combobox auf "":

ComboBox1.Value = ""

4. Was passiert, wenn ich versuche, ein Element aus einer leeren Combobox zu entfernen?
Ein Fehler tritt auf. Stelle sicher, dass die Combobox nicht leer ist, bevor Du versuchst, ein Element zu entfernen.

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