Emily vpraša:
Prosimo vas, da nam svetujete formularno rešitev za štetje števila celic z določeno barvo backgorund (tj. Te celice vsebujejo nekaj podatkov, vendar je za njihovo štetje pomembna barva).
Logično menim, da bi moral slediti običajnemu formularju, tj
CountIF(A01:A55,"backgroundcolour=red")
Menim, da bi bilo treba rdečo barvo označiti s številko 3 (glede na datoteko s pomočjo)
Moram vedeti, kako kodirati barvo ozadja celice, tj. Colorfill ?, backgroundcolour ?, interior.color?… ???
Emily - če bi le bilo tako enostavno. V VBA morate imeti uporabniško določeno funkcijo. Spodaj je koda funkcije. To morate vnesti v nov modul kode v delovni zvezek.
Ko vnesete kodo, lahko uporabite to formulo:
=CountColor(A1:A99,D2)
Kjer ima D2 obliko ozadja, ki jo želite šteti.
Tu je koda:
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