Sub Test()
Dim Arr, Brr As Range, R&, Idx&
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Brr = Range([A4], Cells(Rows.Count, 2).End(3))
With Brr.Resize(, 1)
.UnMerge: .Borders.LineStyle = 1
.ClearContents: .HorizontalAlignment = 3
End With
Arr = Brr
For R = 2 To UBound(Arr)
If Arr(R, 2) <> "" And Brr(R, 2).Interior.ColorIndex = xlNone Then
If Left(Arr(R, 2), 11) <> Left(Arr(R - 1, 2), 11) Then
Idx = Idx + 1: Arr(R, 1) = Idx
Else '¦X¨ÖÀx¦s®æ
Range(Brr(R, 1), Brr(R - 1, 1)).Merge
End If
End If
If Brr(R, 2).Interior.Color = RGB(217, 226, 243) Then Idx = 0
Next R
Brr = Arr
End Sub