Подсчет ячеек по внутреннему цвету с помощью VBA - Советы по Excel

Эмили спрашивает:

Пожалуйста, не могли бы вы посоветовать формульное решение для подсчета количества ячеек, которые имеют определенный цвет фона (т.е. эти ячейки содержат некоторые данные, однако цвет важен для их подсчета).

Логически я считаю, что это должно соответствовать стандартной формуле, т.е.

CountIF(A01:A55,"backgroundcolour=red")

Я считаю, что красный цвет следует обозначать цифрой 3 (согласно файлу справки)

Мне нужно знать, как закодировать цвет ячейки фона, то есть colorfill ?, backgroundcolour?, Interior.color?… ???

Эмили - если бы это было так просто. Вам необходимо иметь определяемую пользователем функцию в VBA. Ниже приведен код функции. Вам необходимо ввести это в новый модуль кода в книге.

После ввода кода вы можете использовать эту формулу:

=CountColor(A1:A99,D2)

Где D2 имеет формат фона, который вы хотите подсчитать.

Вот код:

Function CountColor(Rng As Range, RngColor As Range) As Integer Dim Cll As Range Dim Clr As Long Clr = RngColor.Range("A1").Interior.Color For Each Cll In Rng If Cll.Interior.Color = Clr Then CountColor = CountColor + 1 End If Next Cll End Function

Интересные статьи...