![]() |
|
#1
|
|||
|
|||
![]() Another approach is to use in memory arrays. |
#2
|
|||
|
|||
![]()
My bad.
I misread the first post. I understood it to mean 3 columns on the same row. My apologies. |
#3
|
|||
|
|||
![]()
Another long winded approach that might work.
Try on a copy of your original first. Columns A, B and C have phone numbers to be compared to. Column D has the phone numbers without bracketed area codes and a possible 1 in front Columns E and F are empty and free to use. Code:
Sub cjamps() Dim i As Long, c As Range Application.ScreenUpdating = False With Range("D2:D" & Cells(Rows.Count, "D").End(xlUp).Row) .Offset(, 1).Formula = "=IF(LEN(RC[-1])=13,RIGHT(RC[-1],12),RC[-1])" .Offset(, 1).Value = .Offset(, 1).Value .Offset(, 2).Formula = "= ""(""&LEFT(RC[-1],3)&"")""&"" ""&MID(RC[-1],5,3)&"" ""&MID(RC[-1],9,4)" .Offset(, 2).Value = .Offset(, 2).Value End With For Each c In Range("F2:F" & Cells(Rows.Count, "F").End(xlUp).Row) For i = 2 To Cells(Rows.Count, "F").End(xlUp).Row If WorksheetFunction.CountIf(Range(c.Offset(, -5).Address & ":" & c.Offset(, -3).Address), c.Value) <> 0 Then c.Offset(, -2).ClearContents: Exit For Next i Next c Columns("E:F").ClearContents Application.ScreenUpdating = True End Sub |
#4
|
|||
|
|||
![]()
jolivanes,
I tried running the macro but it didn't delete the duplicates. |
#5
|
|||
|
|||
![]()
For me it deleted the 1's where there were any and it deletes the dups.
I'll have a look later on. |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
bandaanders | Excel Programming | 2 | 09-02-2015 08:15 AM |
![]() |
subspace3 | Excel Programming | 5 | 07-09-2015 04:45 PM |
Macro to keep first instance and remove duplicates in certain column | zhead | Excel | 2 | 03-18-2015 10:16 AM |
![]() |
rcVBA | Word VBA | 4 | 05-15-2013 03:08 PM |
![]() |
jillapass | Excel Programming | 1 | 01-11-2012 10:02 AM |