Try this version
Option Explicit
Sub Row2Dups()
Dim rRow2 As Range, rStart As Range, rEnd As Range
Application.ScreenUpdating = False
With ActiveSheet
Set rStart = .Cells(2, 3)
Set rEnd = .Cells(2, .Columns.Count).End(xlToLeft)
Do While rStart.Address <> rEnd.Address
Range(rStart.Offset(0, 1), rEnd).Replace rStart.Value, True, xlWhole
Set rStart = rStart.Offset(0, 1)
Loop
On Error Resume Next
Range(.Cells(2, 3), .Cells(2, .Columns.Count).End(xlToLeft)).SpecialCells(xlCellTypeConstants, xlLogical).EntireColumn.Delete
On Error GoTo 0
End With
Application.ScreenUpdating = True
End Sub