Ląstelių skaičiavimas pagal interjero spalvas naudojant VBA - „Excel“ patarimai

Emily klausia:

Ar galėtumėte patarti formalų sprendimą suskaičiuoti ląstelių, turinčių tam tikrą foną, skaičių (t. Y. Šiose ląstelėse yra tam tikrų duomenų, tačiau spalva yra svarbiausia, norint jas suskaičiuoti).

Logiška manyti, kad tai turėtų atitikti standartinę formulę, t

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

Manau, kad raudoną spalvą reikia identifikuoti skaičiumi 3 (pagal pagalbos failą)

Turiu žinoti, kaip koduoti fono langelio spalvą, ty colorfill ?, backgroundcolour ?, interior.color?… ???

Emily - jei tik taip lengva būtų. VBA turite turėti vartotojo apibrėžtą funkciją. Žemiau pateikiamas funkcijos kodas. Tai turite įvesti į naują darbaknygės kodo modulį.

Įvedę kodą, galite naudoti šią formulę:

=CountColor(A1:A99,D2)

Kur D2 turi fono formatą, kurį norite suskaičiuoti.

Štai kodas:

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

Įdomios straipsniai...