Štetje celic po notranji barvi s pomočjo VBA - Excel Nasveti

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

Zanimive Članki...