Страницы: 1
RSS
Условное форматирование строки в таблице, Условное форматирование строки в большой таблице
 
Можно ли применить Условное форматирование Цветовой шкалой для каждой строки в большой таблице?
Если выделить таблицу и применить это форматирование ко всему выделанному - получается не корректное раскрашивание - наибольшие значения окрашиваются относительно всему выделанному, а нужно - относительно каждой строки.
 
ElenaV, одним правилом - нет
 
Сможете помочь решить задачу?
Файл вышлю
 
ElenaV,
А вам именно градация нужна или достаточно 7 цветов (ниже мин, мин, ниже среднего, 50%, выше среднего, макс, выше макс)?
Изменено: Maximich - 16.01.2026 14:48:40
Кто ясно мыслит, тот ясно излагает.
 
Код
Option Explicit

Sub test()
    Const myRANGE = "A1:J10"

    Dim rr As Range
    For Each rr In Range(myRANGE).Rows
        SetFormatConditions rr
    Next
End Sub

Private Sub SetFormatConditions(rr As Range)
    rr.FormatConditions.Delete
    rr.FormatConditions.AddColorScale ColorScaleType:=3
    rr.FormatConditions(rr.FormatConditions.Count).SetFirstPriority
    rr.FormatConditions(1).ColorScaleCriteria(1).Type = xlConditionValueLowestValue
    With rr.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 7039480
        .TintAndShade = 0
    End With
    rr.FormatConditions(1).ColorScaleCriteria(2).Type = xlConditionValuePercentile
    rr.FormatConditions(1).ColorScaleCriteria(2).Value = 50
    With rr.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = 8711167
        .TintAndShade = 0
    End With
    rr.FormatConditions(1).ColorScaleCriteria(3).Type = xlConditionValueHighestValue
    With rr.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 8109667
        .TintAndShade = 0
    End With
End Sub
Вместо A1:J10 поставьте ваш диапазон.
 
ElenaV -
Цитата
Файл вышлю
Файл уже можно высылать...
 
Пример почасового товарооборота по магазинам.
Для каждого магазина - светофор
 
Код
Option Explicit

Sub test()
    Dim rr As Range
    For Each rr In Intersect(Columns("K:U"), ActiveSheet.UsedRange).Rows
        If rr.Row > 4 Then
            SetFormatConditions rr
        End If
    Next
End Sub
 
Private Sub SetFormatConditions(rr As Range)
    rr.FormatConditions.Delete
    rr.FormatConditions.AddColorScale ColorScaleType:=3
    rr.FormatConditions(rr.FormatConditions.Count).SetFirstPriority
    rr.FormatConditions(1).ColorScaleCriteria(1).Type = xlConditionValueLowestValue
    With rr.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 7039480
        .TintAndShade = 0
    End With
    rr.FormatConditions(1).ColorScaleCriteria(2).Type = xlConditionValuePercentile
    rr.FormatConditions(1).ColorScaleCriteria(2).Value = 50
    With rr.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = 8711167
        .TintAndShade = 0
    End With
    rr.FormatConditions(1).ColorScaleCriteria(3).Type = xlConditionValueHighestValue
    With rr.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 8109667
        .TintAndShade = 0
    End With
End Sub
 
СПАСИБО!
Страницы: 1
Читают тему
Наверх