ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   RemoveDuplicates not removing all duplicate entries (https://www.excelbanter.com/excel-programming/407581-removeduplicates-not-removing-all-duplicate-entries.html)

Rick S.

RemoveDuplicates not removing all duplicate entries
 
I can't see what is failing in this macro to remove all duplicates.
I always end up with one duplicate left over?
All help is appreciated.

'======
Sub RemoveDups()
ActiveSheet.Unprotect "2000"
Application.ScreenUpdating = False

Dim Sh3LastRow
Dim Sh3LastCol

With Sheets("Order Specs")
Sh3LastRow = .Cells(Rows.Count, "A").End(xlUp).row
Sh3LastCol = Range("A2").Cells(1, .Columns.Count).End(xlToLeft).Column
End With

ActiveSheet.Range("A2:K" & Sh3LastRow).RemoveDuplicates
Columns:=Array(1, 2), Header:=xlYes
Range("A2").Activate
'ActiveSheet.Protect "2000"
Application.ScreenUpdating = True
End Sub
'======
--
Regards

VBA.Newb.Confused
XP Pro
Office 2007


joel

RemoveDuplicates not removing all duplicate entries
 
It is always due to the cells not containing exactly the same data.
Sometimes it is a space or tab at the beginninhgor end of the data.
sometimes it is a mis-spelled word. Other times it is the letter o instead
of the digit 0. 1's instead of l's. Maybe an extra space between words.
Look and eventualy you find the mis-match.

One way of comparing is copy both cells to notepad. Put each piece of data
on a seperate line and look close at the two lines of data.

"Rick S." wrote:

I can't see what is failing in this macro to remove all duplicates.
I always end up with one duplicate left over?
All help is appreciated.

'======
Sub RemoveDups()
ActiveSheet.Unprotect "2000"
Application.ScreenUpdating = False

Dim Sh3LastRow
Dim Sh3LastCol

With Sheets("Order Specs")
Sh3LastRow = .Cells(Rows.Count, "A").End(xlUp).row
Sh3LastCol = Range("A2").Cells(1, .Columns.Count).End(xlToLeft).Column
End With

ActiveSheet.Range("A2:K" & Sh3LastRow).RemoveDuplicates
Columns:=Array(1, 2), Header:=xlYes
Range("A2").Activate
'ActiveSheet.Protect "2000"
Application.ScreenUpdating = True
End Sub
'======
--
Regards

VBA.Newb.Confused
XP Pro
Office 2007


Rick S.

RemoveDuplicates not removing all duplicate entries
 
The strange thing is, I can copy data from one row into another row, two
times, creating three total copies and the code will only remove one of the
copies?

I just can't figure out why?
--
Regards

VBA.Newb.Confused
XP Pro
Office 2007



"Joel" wrote:

It is always due to the cells not containing exactly the same data.
Sometimes it is a space or tab at the beginninhgor end of the data.
sometimes it is a mis-spelled word. Other times it is the letter o instead
of the digit 0. 1's instead of l's. Maybe an extra space between words.
Look and eventualy you find the mis-match.

One way of comparing is copy both cells to notepad. Put each piece of data
on a seperate line and look close at the two lines of data.

"Rick S." wrote:

I can't see what is failing in this macro to remove all duplicates.
I always end up with one duplicate left over?
All help is appreciated.

'======
Sub RemoveDups()
ActiveSheet.Unprotect "2000"
Application.ScreenUpdating = False

Dim Sh3LastRow
Dim Sh3LastCol

With Sheets("Order Specs")
Sh3LastRow = .Cells(Rows.Count, "A").End(xlUp).row
Sh3LastCol = Range("A2").Cells(1, .Columns.Count).End(xlToLeft).Column
End With

ActiveSheet.Range("A2:K" & Sh3LastRow).RemoveDuplicates
Columns:=Array(1, 2), Header:=xlYes
Range("A2").Activate
'ActiveSheet.Protect "2000"
Application.ScreenUpdating = True
End Sub
'======
--
Regards

VBA.Newb.Confused
XP Pro
Office 2007


Rick S.

RemoveDuplicates not removing all duplicate entries
 
I figured this out!
This was the offending code section: (One string)
ActiveSheet.Range("A1:K" & Sh3LastRow).RemoveDuplicates Columns:=Array(1,
2), Header:=xlYes

'======
Sub RemoveDups()
ActiveSheet.Unprotect "2000"
Application.ScreenUpdating = False

Dim Sh3LastRow
Dim Sh3LastCol

With Sheets("Order Specs")
Sh3LastRow = .Cells(Rows.Count, "A").End(xlUp).row
End With

ActiveSheet.Range("A1:K" & Sh3LastRow).RemoveDuplicates
Columns:=Array(1, 2), Header:=xlYes
Range("A2").Activate
'ActiveSheet.Protect "2000"
Application.ScreenUpdating = True
End Sub
'======
--
Regards

VBA.Newb.Confused
XP Pro
Office 2007



"Rick S." wrote:

I can't see what is failing in this macro to remove all duplicates.
I always end up with one duplicate left over?
All help is appreciated.

'======
Sub RemoveDups()
ActiveSheet.Unprotect "2000"
Application.ScreenUpdating = False

Dim Sh3LastRow
Dim Sh3LastCol

With Sheets("Order Specs")
Sh3LastRow = .Cells(Rows.Count, "A").End(xlUp).row
Sh3LastCol = Range("A2").Cells(1, .Columns.Count).End(xlToLeft).Column
End With

ActiveSheet.Range("A2:K" & Sh3LastRow).RemoveDuplicates
Columns:=Array(1, 2), Header:=xlYes
Range("A2").Activate
'ActiveSheet.Protect "2000"
Application.ScreenUpdating = True
End Sub
'======
--
Regards

VBA.Newb.Confused
XP Pro
Office 2007



All times are GMT +1. The time now is 12:25 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com