Solujen laskeminen värin mukaan VBA: n avulla - Excel-vinkit

Emily kysyy:

Voisitteko neuvoa muodollista ratkaisua sellaisten solujen lukumäärän laskemiseen, joilla on tietty backgorund-väri (ts. Nämä solut sisältävät joitain tietoja, mutta väri on tärkeä niiden laskemiseksi).

Loogisesti mielestäni sen pitäisi noudattaa vakiomuotoa eli

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

Uskon, että punainen väri tulisi tunnistaa numerolla 3 (ohjetiedoston mukaan)

Minun on tiedettävä, miten koodata taustan soluväri eli colorfill ?, backgroundcolour ?, interior.color?… ???

Emily - jos vain se olisi niin helppoa. Sinulla on oltava käyttäjän määrittelemä toiminto VBA: ssa. Alla on toiminnon koodi. Sinun on syötettävä tämä uuteen työkirjan koodimoduuliin.

Kun koodi on syötetty, voit käyttää tätä kaavaa:

=CountColor(A1:A99,D2)

Missä D2: lla on taustamuoto, jonka haluat laskea.

Tässä on koodi:

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

Mielenkiintoisia artikkeleita...