Sejtek számlálása belső szín szerint VBA használatával - Excel tippek

Emily azt kérdezi:

Kérem, tudna tanácsot adni a formális megoldásnak az olyan cellák számának megszámlálásához, amelyeknek egy adott háttérszíne van (azaz ezek a cellák tartalmaznak némi adatot, azonban a szín az, ami fontos a számláláshoz).

Logikusan úgy érzem, hogy egy szabványos formai követnie kell, azaz

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

Úgy gondolom, hogy a piros színt a 3-as számmal kell azonosítani (a súgófájl alapján)

Tudnom kell a háttércella színének kódolását, azaz colorfill ?, backgroundcolour ?, interior.color?… ???

Emily - ha ez ilyen egyszerű is lenne. A VBA-ban rendelkeznie kell egy felhasználó által definiált funkcióval. Az alábbiakban látható a függvény kódja. Ezt be kell írnia a munkafüzet új kódmoduljába.

Miután megadta a kódot, használhatja a következő képletet:

=CountColor(A1:A99,D2)

Ahol a D2 rendelkezik a megszámolni kívánt háttérformátummal.

Itt van a kód:

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

érdekes cikkek...