Вам нужно будет сохранить цвета и восстановить их после сортировки.
Кроме того, ваш код сортировки не совсем верен.
И поскольку вы повторяете этот процесс, я бы разделить код сортировки / цвета в частный саб
как-то так
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
DotheSort Range("A36:H160"), Range("B36"), Range("E36:H160")
DotheSort Range("K36:R76"), Range("L36"), Range("O36:R76")
Application.ScreenUpdating = True
End Sub
Private Sub DotheSort(rSrc As Range, rSortOn As Range, rMerge As Range)
Dim colors As Variant
Dim rw As Long, cl As Long
' save colors
ReDim colors(1 To rSrc.Rows.Count, 1 To rSrc.Columns.Count)
For cl = 1 To UBound(colors, 2)
For rw = 1 To UBound(colors, 1)
colors(rw, cl) = rSrc.Cells(rw, cl).Interior.Color
Next
Next
rSrc.UnMerge
rSrc.Sort Key1:=rSortOn, Order1:=xlAscending, Header:=xlNo
rMerge.Merge True
'Restore colors
For cl = 1 To UBound(colors, 2)
For rw = 1 To UBound(colors, 1)
rSrc.Cells(rw, cl).Interior.Color = colors(rw, cl)
Next
Next
End Sub