Преброяване на клетки по вътрешен цвят с помощта на VBA - Съвети на Excel

Емили пита:

Моля, бихте ли посъветвали формулярното решение за преброяване на броя клетки, които имат определен цвят на backgorund (т.е. тези клетки съдържат някои данни, но цветът е това, което е важно, за да ги преброите).

Логично смятам, че трябва да следва стандартна формула, т.е.

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

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