View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default compare two worksheets and delete rows

Mike, I modelled the code on what you had provided - it only checks for rows
in the same location. It is easily altered however to check for a match
anywhere in column 1 of Sheet2.

Dim sh1 as Worksheet, sh2 as Worksheet
Dim i as Long, rng as Range
Dim lastRow as Long
set sh2 = Worksheets(2)
set sh1 = Worksheets(1)
lastrow = sh1.Cells(Rows.Count, "A").End(xlUp).Row
With sh2
set rng2 = .Range(.Cells(1,1),.Cells(rows.count,1).End(xlup))
End With
For i = lastrow To 1 Step -1
If Application.Countif(rng2,Sh1.Cells(i,"A").Value)0 then
sh1.Rows(i).Delete
End If
Next


--
Regards,
Tom Ogilvy



wrote in message
oups.com...
Quick questions...the macro runs fine with some small test data. I ran
the macro where sh2 had 547 rows and sh1 had 2800 rows. There was a
dupe on sh1 and sh2. On row 2820 sh1 and on row 547 sh2. However the
macro did not remove the row in sh1.

Any ideas why?