Если цветовая шкала внутри групп что-то вроде:
Public Sub FormatRanges()
Dim rng1 As Range, rng2 As Range, rng3 As Range, rng As Long
Application.ScreenUpdating = False
With ActiveSheet
Set rng1 = .Range("B1:B5")
Set rng2 = .Range("B6:B10")
Set rng3 = .Range("B11:B15")
Dim myRanges()
myRanges = Array(rng1, rng2, rng3)
For rng = LBound(myRanges) To UBound(myRanges)
ApplyFormatting myRanges(rng)
Next rng
End With
Application.ScreenUpdating = True
End Sub
Public Sub ApplyFormatting(ByRef rng As Variant)
rng.FormatConditions.Delete
rng.FormatConditions.AddColorScale ColorScaleType:=3
rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
rng.FormatConditions(1).ColorScaleCriteria(1).Type = _
xlConditionValueLowestValue
With rng.FormatConditions(1).ColorScaleCriteria(1).FormatColor
.Color = 7039480
.TintAndShade = 0
End With
rng.FormatConditions(1).ColorScaleCriteria(2).Type = _
xlConditionValuePercentile
rng.FormatConditions(1).ColorScaleCriteria(2).Value = 50
With rng.FormatConditions(1).ColorScaleCriteria(2).FormatColor
.Color = 8711167
.TintAndShade = 0
End With
rng.FormatConditions(1).ColorScaleCriteria(3).Type = _
xlConditionValueHighestValue
With rng.FormatConditions(1).ColorScaleCriteria(3).FormatColor
.Color = 8109667
.TintAndShade = 0
End With
End Sub
Пример данных:
![data](https://i.stack.imgur.com/wc7BK.png)
Код входит в стандартный модульнажав Alt + F11, чтобы открыть VBE, затем щелкните правой кнопкой мыши в проекте и добавьте стандартный модуль.