Unikate in eigene Spalte extrahieren

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.

 

Partnerlinks

Relevante Artikel

Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.