Try this macro
I beleive it does everyting you asked for
Sub FindDuplicates()
Dim Rng As Range
Dim rFound As Range
Dim rFrom
Dim sFind As String
Dim sMB As String
Dim wS As Worksheet
Set wS = ActiveSheet
For Each Rng In Selection
If Rng.Column = 3 Then
Set rFrom = Rng
Do
Set rFound = wS.Columns("c").Find(What:=Rng.Value, _
After:=rFrom, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rFound Is Nothing Then
If rFound.Row = Rng.Row Then
Exit Do
End If
If rFound.Address <> Rng.Address Then
If rFound.Offset(0, 2).Value = Rng.Offset(0, 2).Value Then
sMB = MsgBox("Duplicates Found Rows " & rFound.Row & " & " & Rng.Row _
& Chr(10) & Chr(10) _
& "Delete Duplicate from Row " & rFound.Row, _
vbYesNo + vbQuestion)
If sMB = vbYes Then
wS.Rows(rFound.Row).Delete
Set rFrom = Rng
Else
Set rFrom = rFound
End If
Else
sMB = MsgBox("Duplicates Found Rows " & rFound.Row & " & " & Rng.Row _
& Chr(10) _
& "With Non Matching Column E Entries" _
& Chr(10) _
& "Remove Row " & rFound.Row & " Entry", _
vbYesNo + vbQuestion)
If sMB = vbYes Then
Sheets.Add
wS.Rows(rFound.Row).Copy
ActiveSheet.Paste
wS.Rows(rFound.Row).Delete
Set rFrom = Rng
Else
Set rFrom = rFound
End If
End If
End If
End If
Loop
End If
Next Rng
CreateObject("WScript.Shell").Popup "Process Finished", 2, _
"This Message Self Destructs in 2 seconds "
End Sub
Bookmarks