Mit diesem Makro werden alle nicht doppelten Daten aus Spalte A in Spalte B geschrieben.
Jeder Wert wird also maximal einmal in Spalte B geschrieben, egal, wie oft er in Spalte A vorhanden ist.
Die Unikate werden sozusagen extrahiert und in Spalte B geschrieben.
Sub ListeUnikate()
Dim Liste As New Collection
Dim i As Integer
Dim j As Integer
Dim Gefunden As Boolean
Liste.Add [A1]
For i = 2 To 20 'oder so viele, wie Du brauchst
Gefunden = False
For j = 1 To Liste.Count
If Cells(i, 1) = Liste(j) Then Gefunden = True
Next j
If Not Gefunden Then Liste.Add Cells(i, 1)
Next i
'Zu Testzwecken
For i = 1 To Liste.Count
Cells(i, 2) = Liste(i)
Next i
End Sub
Herr Kühnlein hat den Code erweitert. Nun wird in Spalte C protokolliert, welche Daten, wie oft in Spalte A vorhanden sind. Eine super Sache!
Sub ListeUnikate_mit_zähler()
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim Gefunden As Boolean
[B1] = [A1]
[C1] = 1
n = 1
For i = 2 To 9 'oder so viele wie gewünscht
Gefunden = False
For j = 1 To n
If Cells(i, 1) = Cells(j, 2) Then
Gefunden = True
Cells(j, 3) = Cells(j, 3) + 1
End If
Next j
If Not Gefunden Then
n = n + 1
Cells(n, 2) = Cells(i, 1)
Cells(n, 3) = 1
End If
Next i
End Sub
Die Veröffentlichung wurde frundlicherweise von Klaus Kühnlein genehmigt.