ich habe unten stehenden Code, mit Beschreibung, in einem Forum gefunden.
Augenscheinlich läuft der Code bis zur letzten gefüllten Zeile, bzw. bis zur der ersten leeren Zelle. Ist für meine Anwendung ungeschickt, da ein paar Leerzeilen und verbundene Zellen dazwischen sind.
Kan mir jemand den Code so umbauen Duplikate in einem Bereich gesucht werden soll?
Zum Beispiel von B6 bis H9.
Vielen Dank schon mal!
Gruß
Thomas
Das folgende Makro markiert alle doppelten Einträge in einer Liste farbig.
Die Liste muss dabei nicht sortiert sein, es funktioniert in jeder unsortierten Liste
Zu Beginn des Makros ist die Start-Zelle einzugeben. Alles andere erledigt das Makro selbständig.
Erfassen Sie dieses Makro ist in ein Code-Modul, nicht in ein Tabellenblatt.
Option Explicit
Sub zellen_mit_doppelten_einträgen_markieren()
On Error Resume Next
Dim Spalten As Object
Dim zelle1 As Object
Dim zelle2 As Object
Dim f As Integer
Dim x As Long, i As Long, y As Long, z As Long
Dim eing
f = 0
Set zelle1 = Selection.SpecialCells(xlLastCell).Offset(1, 1)
Set zelle2 = Selection.SpecialCells(xlLastCell)
eing = InputBox("Die Zelle eingeben, ab der geprüft werden soll," & (Chr(13)) & "z.B. A1 oder _
F6.", "Zellenauswahl")
Range(eing).Select
Set Spalten = ActiveCell.CurrentRegion
eing = ""
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
zelle1 = ActiveCell
ActiveCell.Offset(1).Select
For x = 1 To Spalten.Rows.Count
If ActiveCell.Value = zelle1 Then
If ActiveCell "" Then
ActiveCell.Interior.ColorIndex = 5
End If
End If
ActiveCell.Offset(1).Select
Next x
For i = 1 To Spalten.Rows.Count - 1
For z = 1 To Spalten.Rows.Count
ActiveCell.Offset(-1).Select
Next z
f = f + 1
zelle1.Clear
zelle2 = ActiveCell
ActiveCell.Offset(1).Select
For y = 1 To Spalten.Rows.Count
If ActiveCell.Value = zelle2 Then
If ActiveCell "" And Selection.Interior.ColorIndex = xlNone Then
ActiveCell.Interior.ColorIndex = 3
End If
End If
ActiveCell.Offset(1).Select
Next y
Next i
zelle2.Clear
'** Ursprungszustand wieder herstellen
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Range("A1").Select
End Sub