2016-11-21 8 views
0

Wie kann ich das am einfachsten programmieren?Überprüfung auf Duplikate Excel VBA

Wenn die Range("A1").value = "Thursday"

Dublettenprüfung auf allen Zellen sagen lassen, den Wert in ihnen (B1, C1, D1, ...)

Wenn ein Duplikat gefunden wird, wählen Sie 3 Zellen unter jedem von diesen Zellen Range("B2:B4") und so weiter ...

Vielen Dank im Voraus!

Antwort

1

Der einfachste Weg ist für Duplikate zu überprüfen:

Mit einem Work

= COUNTIF (A: A, A1)> 1

enter image description here

die Verwendung von VBA

Dim Target As Range 
Dim r As Range 

Set Target = Range("A1", Range("A" & Rows.Count).End(xlUp)) 

For Each r In Target 
    r.Offset(0, 1) = WorksheetFunction.CountIf(Target, r.Value) > 1 
Next 

Wenn Sie Duplikate in der ersten Spalte des Bereichs

Target.RemoveDuplicates Spalten zu entfernen: = 1, Rubrik: = xlNo

Wenn Sie wollten Ihre Reichweite erweitern Spalten enthalten B und C

Set Target = Range ("A1", Range ("A" & Rows.Count) .End (xlUp)). Ändern der Größe (3)

Entfernen von Duplikaten in der ersten und dritten Spalt

Target.RemoveDuplicates Columns: = Array (1, 3), Rubrik: = xlNo

Zeilen entfernen, die die Duplikate enthalten

Target.EntireRow.RemoveDuplicates Spalten: = Array (1, 3), Rubrik: = xlNo

+0

Danke für Ihr rasche Antwort! Ich werde es ausprobieren! :) – JcDiago

+0

Was machst du, wenn der Text mehr als 255 Zeichen hat? – MeLine

+1

@MeLine Ich teste es einfach und RemoveDuplicates funktionierte wie erwartet in einer einzigen Spalte mit 300 Zeichenfolgen –