Tælle celler efter interiørfarve ved hjælp af VBA - Excel-tip

Indholdsfortegnelse

Emily spørger:

Kan du rådgive den formelle løsning til at tælle antallet af celler, der har en bestemt backgorund-farve (dvs. disse celler indeholder nogle data, men farven er det, der er vigtigt for at tælle dem).

Logisk set føler jeg, at det skal følge en standardformular, dvs.

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

Jeg mener, at farven rød skal identificeres med nummer 3 (ifølge hjælpefilen)

Jeg har brug for at vide, hvordan man koder baggrundscellefarven, dvs. colorfill ?, backgroundcolour ?, interior.color?… ???

Emily - hvis det bare var så let. Du skal have en brugerdefineret funktion i VBA. Nedenfor er koden for funktionen. Du skal indtaste dette i et nyt kodemodul i projektmappen.

Når du har indtastet koden, kan du bruge denne formel:

=CountColor(A1:A99,D2)

Hvor D2 har det baggrundsformat, du vil tælle.

Her er koden:

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

Interessante artikler...