HERBERS Excel-Forum - die Dialoge

Thema: Doppelte löschen

Home
Doppelte Einträge in der ListBox löschen. Doppelte löschen
  • Prozedur: cmdDoppelte_Click
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Doppelte löschen
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Array vordimensionieren
    • Erstes Datenfeld des Arrays mit dem ersten Element der ListBox belegen
    • Eine Schleife vom zweiten bis zum letzten ListBox-Element starten
    • Prüfen, ob das aktuelle Element bereits im Array enthalten ist
    • Wenn es nicht enthalten ist...
    • Array-Zähler um eins hochzählen
    • Array bei zu behaltenden Werten neu dimensionieren
    • Aktuelles Listenelement in Array einlesen
    • Array in ListBox einlesen
  • Code:

    
    Private Sub cmdDoppelte_Click()
       Dim arr() As String
       Dim var As Variant
       Dim iCounter As Integer, iItem As Integer
       ReDim Preserve arr(0)
       arr(0) = lstDoppelte.List(0)
       For iCounter = 1 To 11
          var = Application.Match(lstDoppelte.List(iCounter), arr, 0)
          If IsError(var) Then
             iItem = iItem + 1
             ReDim Preserve arr(iItem)
             arr(iItem) = lstDoppelte.List(iCounter)
          End If
       Next iCounter
       lstDoppelte.List = arr
    End Sub