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

Forumthread: Combobox Eintrag löschen

Combobox Eintrag löschen
29.12.2015 18:49:45
Jens
Hallo,
habe eine Combobox6 in der die Betreffs von E-Malis geladen werden.
Ich kann diese E-mails abspeichern und zugleich löschen(.delete)
Aber wie bekomme ich den Eintrag nach dem löschen der E-Mail auch aus der Combobox6?
Private Sub CommandButton6_Click()
Dim StoreID         As String
Dim EntryID         As String
Dim strTxtSZ        As String
Dim strAddress      As String
Dim varAddress      As Variant
Dim lngVarSZ        As Long
Dim Item            As Outlook.MailItem
Const strReplaceSZ  As String = "_.;:_#+?)=%$&(/\"
StoreID = TextBox2.Text
EntryID = ComboBox9.Value
Set olName = olApp.GetNamespace("MAPI")
If ComboBox3.Text = "" Or ComboBox6.Text = "" Then
MsgBox "Es sind keine Datensätze vorhanden. Bitte zuerst die Datensätze in die grünen Felder  _
laden!"
Else
Set olFolder = olName.Session.Folders(ComboBox1.Text).Folders("Posteingang").Folders(ComboBox3. _
Text)
Set Item = olName.GetItemFromID(EntryID, StoreID)
varAddress = Split(ComboBox11.Value, "@")
If UBound(varAddress) 
Ich hätte es schon über
ComboBox6.Items.Remove (ComboBox6.SelectedItem)
probiert aber dann bringt er den Fehler.
Methode oder Datenobjekt nicht gefunden.
Weis jemand warum?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Combobox Eintrag löschen
29.12.2015 19:41:40
Daniel
Hi
probiers mal mit
combobox6.removeitem combobox6.listindex
Gruß Daniel

AW: Combobox Eintrag löschen
29.12.2015 19:44:54
Gerd
Hallo Jens,
prinzipiell gibt es drei verschiedene Möglichkeiten, Comboboxen "einzufügen" und
vier Möglichkeiten für deren Itemsfüllung.
Private Sub CommandButton1_Click()
With ComboBox6
If ListIndex > -1 Then
.RemoveItem ComboBox1.ListIndex
.ListIndex = -1
End If
End With
End Sub
Ergo kann die Prozedur nur "mit Gück" funktionieren (im Userform u. mit AddItem-Methode gefüllte).
Gruß Gerd

Anzeige
AW: Combobox Eintrag löschen
30.12.2015 11:10:41
Jens
Hallo Gerd,
danke dein Vorschlag funktioniert, aber nun stimmen die Betreffs der E-Mails nicht mehr mit der E-Mail zusammen...
;
Anzeige
Anzeige

Infobox / Tutorial

Combobox Eintrag löschen in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen Eintrag in einer Combobox zu löschen, kannst du die Methode .RemoveItem verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne dein Excel VBA-Editor (ALT + F11).

  2. Wähle dein Userform aus, das die Combobox enthält.

  3. Füge einen Button hinzu, der das Löschen des Eintrags auslöst.

  4. Verwende den folgenden Code, um den ausgewählten Eintrag zu löschen:

    Private Sub CommandButton1_Click()
       With ComboBox6
           If .ListIndex > -1 Then
               .RemoveItem .ListIndex
               .ListIndex = -1 ' Setzt die Auswahl zurück
           End If
       End With
    End Sub
  5. Teste das Userform, um sicherzustellen, dass der Eintrag gelöscht wird.


Häufige Fehler und Lösungen

  • Methode oder Datenobjekt nicht gefunden: Dieser Fehler tritt auf, wenn die Methode nicht korrekt aufgerufen wird. Achte darauf, dass der Name der Combobox genau übereinstimmt.

  • Die Combobox ist leer: Stelle sicher, dass die Combobox mit Items gefüllt ist, bevor du versuchst, einen Eintrag zu löschen. Du kannst die Combobox mit der .AddItem Methode füllen.

  • Einträge stimmen nicht mehr überein: Wenn du nach dem Löschen von Einträgen feststellst, dass die Betreffs der E-Mails nicht mehr korrekt sind, überprüfe die Logik im Code, um sicherzustellen, dass die richtige Zuordnung besteht.


Alternative Methoden

Es gibt verschiedene Ansätze, um eine Combobox zu leeren oder Einträge zu entfernen:

  1. Gesamter Inhalt löschen:

    Private Sub CommandButton2_Click()
       ComboBox6.Clear ' Löscht alle Einträge
    End Sub
  2. Eintrag nach Text entfernen:

    Private Sub CommandButton3_Click()
       Dim i As Integer
       For i = ComboBox6.ListCount - 1 To 0 Step -1
           If ComboBox6.List(i) = "Text" Then
               ComboBox6.RemoveItem i
           End If
       Next i
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Combobox in Excel VBA verwenden kannst:

  • E-Mail Betreffs hinzufügen:

    Private Sub CommandButtonAdd_Click()
       ComboBox6.AddItem "Betreff 1"
       ComboBox6.AddItem "Betreff 2"
       ComboBox6.AddItem "Betreff 3"
    End Sub
  • Einträge auf Basis einer Bedingung entfernen:

    Private Sub CommandButtonRemove_Click()
       Dim i As Long
       For i = ComboBox6.ListCount - 1 To 0 Step -1
           If ComboBox6.List(i) Like "*Wichtig*" Then
               ComboBox6.RemoveItem i
           End If
       Next i
    End Sub

Tipps für Profis

  • Verwende Error Handling, um unerwartete Fehler beim Löschen von Einträgen zu vermeiden.
  • Überprüfe die Liste der Einträge, bevor du einen Löschvorgang durchführst, um sicherzustellen, dass die richtige Auswahl getroffen wird.
  • Nutze die ListCount Eigenschaft, um dynamisch auf die Anzahl der Einträge in der Combobox zuzugreifen.

FAQ: Häufige Fragen

1. Wie kann ich die Combobox nach dem Löschen eines Eintrags aktualisieren?
Verwende die Methode .ListIndex = -1, um die Auswahl zurückzusetzen und sicherzustellen, dass die Combobox korrekt angezeigt wird.

2. Was mache ich, wenn ich alle Einträge auf einmal löschen möchte?
Verwende die Methode .Clear, um alle Items auf einmal zu entfernen.

3. Wie kann ich sicherstellen, dass nur bestimmte Einträge gelöscht werden?
Du kannst eine Schleife mit einer Bedingung verwenden, um gezielt Einträge zu entfernen, die einem bestimmten Kriterium entsprechen.

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