Страницы: 1
RSS
Условие: если ячейка определенного цвета (градиент)
 
Всем привет! Пытаюсь макросом посчитать количество ячеек в каждой строке определенного цвета. В исходнике используется градиентная заливка.
Код получился такой:
Код
With Лист1
        lr = .Cells(.Rows.Count, 1).End(xlUp).Row
        lc = .Cells(5, .Columns.Count).End(xlToLeft).Column
        For r = 6 To lr
            i = 0
            For c = 8 To lc
                If 'здесь должно содержаться условие, что ячейка определенного цвета
                    i = i + 1
                End If
            Next
            .Cells(r, lc + 1) = i 'В конце каждой строки ставится количество ячеек с обусловленным цветом
        Next
    End With

Не зная как обозначить цвет, я попробовал макрорекодером записать процедуру фильтрации по этому цвету. Вот что вышло:
Код
ActiveSheet.ListObjects("Графики").Range.AutoFilter Field:=14, Criteria1:= _
        RGB(0, 0, 0), Operator:=xlFilterCellColor
    With ActiveSheet.ListObjects("Графики").AutoFilter.Filters(14).Criteria1
        .Pattern = xlPatternRectangularGradient
        .Gradient.RectangleLeft = 0.5
        .Gradient.RectangleRight = 0.5
        .Gradient.RectangleTop = 0.5
        .Gradient.RectangleBottom = 0.5
        .Gradient.ColorStops.Clear
    End With
    With ActiveSheet.ListObjects("Графики").AutoFilter.Filters(14).Criteria1. _
        Gradient.ColorStops.Add(0)
        .Color = 16777215
        .TintAndShade = 0
    End With
    With ActiveSheet.ListObjects("Графики").AutoFilter.Filters(14).Criteria1. _
        Gradient.ColorStops.Add(1)
        .Color = 7434613
        .TintAndShade = 0
    End With

Помогите пожалуйста на основе этого составить условие с заливкой ячейки
 
IvanMantrov, а может воспользоваться Вам уже готовым решением ...ну как вариант.. вот ссылка из приемов  https://www.planetaexcel.ru/techniques/9/162/
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1
Наверх