View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 6,953
Default Find duplicate records and delete

Sub FixDuplicateRows()
Dim RowNdx As Long
Dim ColNum As Integer
Dim rng as Range
ColNum = Selection(1).Column
For RowNdx = Selection(Selection.Cells.Count).Row To _
Selection(1).Row + 1 Step -1
If Cells(RowNdx, ColNum).Value = Cells(RowNdx - 1, ColNum).Value Then
if rng is nothing then
set rng = Cells(RowNdx,ColNum)
else
set rng = Union(rng,cells(RowNdx,ColNum)
end if
End If
Next RowNdx
if not rng is nothing then
rng.entirerow.Delete
End if
End Sub

--
Regards,
Tom Ogilvy


"Lupe" wrote:

The code is like this:
Sub FixDuplicateRows()
Dim RowNdx As Long
Dim ColNum As Integer
ColNum = Selection(1).Column
For RowNdx = Selection(Selection.Cells.Count).Row To _
Selection(1).Row + 1 Step -1
If Cells(RowNdx, ColNum).Value = Cells(RowNdx - 1, ColNum).Value Then
Cells(RowNdx, ColNum).Value = "----"
End If
Next RowNdx
End Sub



"Tom Ogilvy" wrote:

show the code that marks the duplicates and someone can modify it to delete.

--
Regards,
Tom Ogilvy


"Lupe" wrote:

Hi,
I have a list with children and the name of the parents. I need to send
letters to the parents but when there is more than one child per parent, the
parent's name appears more than once. I have used Ron de Bruin's code to
replace the duplicate entries with a character. It works just fine, but in
my case I want to delete the duplicate records at once. How can I do this?
Thanks, Lupe