VBA-Beispiel 107
mail schreiben
mail schreiben

Eintrag in ComboBox mit Entf-Taste löschen

Zur Laufzeit kann der gerade aktive Eintrag mit der Entf-Taste aus der ComboBox entfernt werden.
Private Sub comboNamen_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim intZeile As Integer, intZeilenGesamt As Integer, i As Integer

If comboNamen.ListCount = 0 Then Exit Sub

intZeilenGesamt = comboNamen.ListCount - 1
intZeile = comboNamen.ListIndex

'aktuellen Listeineintrag entfernen
If KeyCode = 46 Then    '46 = Entf-Taste
  If comboNamen.ListIndex <> -1 Then
   'Aus der Combo entfernen
    comboNamen.RemoveItem (comboNamen.ListIndex)
  End If  

  If intZeile < intZeilenGesamt Then
    frmKeyDown.comboNamen.ListIndex = intZeile
  Else
   'wenn letzte Zeile von Combo aktiv
    frmKeyDown.comboNamen.ListIndex = intZeilenGesamt - 1
  End If

 'verbliebene Einträge in Tabelle schreiben
  Columns(3).Clear
  For intZeile = 0 To comboNamen.ListCount - 1
    Cells(intZeile + 15, 3) = comboNamen.List(intZeile)
  Next intZeile

End If

frmKeyDown.Caption = comboNamen.ListCount & " Einträge"

End Sub

Download:   vba107.zip