Try this:
Option Explicit
Sub MergeRows()
Dim LR As Long, RW As Long, delRNG As Range
With ActiveSheet
.Range("A:Y").Sort Range("B2"), xlAscending, Header:=xlYes
.Range("V:Y").Cut
.Columns("N:N").Insert Shift:=xlToRight
.Range("R:Y").Replace What:=" ", Replacement:="", LookAt:=xlPart
LR = .Range("A" & .Rows.Count).End(xlUp).Row
For RW = LR To 3 Step -1
If .Range("B" & RW) = .Range("B" & RW - 1) Then
.Range("R" & RW).Resize(, 100).SpecialCells(xlConstants).Copy .Cells(RW - 1, .Columns.Count).End(xlToLeft).Offset(, 1)
If delRNG Is Nothing Then
Set delRNG = .Range("A" & RW)
Else
Set delRNG = Union(delRNG, .Range("A" & RW))
End If
End If
Next RW
If Not delRNG Is Nothing Then delRNG.EntireRow.Delete xlShiftUp
End With
End Sub
Bookmarks