Hallo Karin,
obwohl meine Beschreibung zugegebenermaßen ungenau ist (es ist schwer den ganzen Sachverhalt in wenigen Worten verbal zu erklären...) bist du genau auf dem richtigen Weg. Ich hatte auch schon an diese Variante "Zwischenspeichern" gedacht, aber leider keine Ahnung und Erfahrung mit dem Array.
Ich habe deinen Code an einem einfachen Beispiel für mich getestet, um ihn überhaupt zu verstehen, was mir aber noch nicht ganz gelungen ist:
Sub NurErsterEintrag()
Dim rngZelle As Range
Dim rngMehrfach As Range
Dim arrMehrfach()
Dim lngMehrfach As Long
Dim lngZeile As Long
Dim lngLetzte As Long
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
For Each rngZelle In Range("A1:A" & lngLetzte)
If Application.CountIf(Range("A1:A" & lngLetzte), rngZelle) > 1 Then
lngZeile = Application.Match(rngZelle, Range("A1:A" & lngLetzte), 0)
If rngZelle.Row > lngZeile Then
MsgBox "mache nix"
Else
Set rngMehrfach = Range("A1:A" & lngLetzte).Find(rngZelle.Value, lookat:=xlWhole)
Do
ReDim Preserve arrMehrfach(0 To 1, 0 To lngMehrfach)
arrMehrfach(0, lngMehrfach) = rngZelle.Value
arrMehrfach(1, lngMehrfach) = rngMehrfach.Address
lngMehrfach = lngMehrfach + 1
Set rngMehrfach = Range("A1:A" & lngLetzte).FindNext(rngMehrfach)
Loop While Not rngMehrfach Is Nothing And rngMehrfach.Row <> lngZeile
End If
Set rngMehrfach = Nothing
End If
Next rngZelle
End Sub
Bsp. wie folgt, "A1:A13"", a und b kommen als Duplikate vor:
1
2
3
4
a
6
7
b
9
10
a
b
11
12
b
13
Wo und wie kann ich mit deinem Code das Array auswerten. Kannst du noch eine Zeile mit einer msgbox oder Auflistung neben der Tabelle einfügen?
Danke im Voraus und Gruß Andreas