Counting Cells by Interior Color Using VBA - Excel Tips

Emily spør:

Vennligst kan du gi råd om den formelle løsningen for å telle antall celler som har en bestemt backgorund-farge (dvs. disse cellene inneholder noen data, men fargen er det som er viktig for å telle dem).

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

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

Jeg tror fargen rød skal identifiseres med nummer 3 (i følge hjelpefilen)

Jeg trenger å vite hvordan jeg skal kode bakgrunnscellefargen, dvs. fargefyll ?, bakgrunnsfarge ?, interiør.farge?… ???

Emily - om det bare var så enkelt. Du må ha en brukerdefinert funksjon i VBA. Nedenfor er koden for funksjonen. Du må legge dette inn i en ny kodemodul i arbeidsboken.

Når du har angitt koden, kan du bruke denne formelen:

=CountColor(A1:A99,D2)

Hvor D2 har bakgrunnsformatet du vil telle.

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...