Kaip skaičiuoti arba susumuoti langelius naudojant tam tikrą spalvą „Excel“

Atsisiųskite pavyzdinę darbo knygą

Atsisiųskite darbaknygės pavyzdį

Ši pamoka parodys, kaip skaičiuoti ar susumuoti tam tikros fono spalvos langelius naudojant VBA.

Apsvarstykite šį „Excel“ diapazoną.

Nėra integruotos „Excel“ funkcijos spalvotoms ląstelėms skaičiuoti. Vietoj to mes turime sukurti vartotojo apibrėžtą funkciją naudodami VBA.

Skaičiuoti ląsteles - sukurkite pasirinktinę VBA funkciją

Norint suskaičiuoti, kiek ląstelių yra tam tikros spalvos naudojant VBA, reikia sukurti vartotojo apibrėžtą funkciją (UDF), kuri pereis per visas diapazono ląsteles ir nustatys, ar kiekvienos ląstelės fono spalva atitinka jūsų fono spalvą bando ir naudoja šią funkciją „Excel“ darbalapyje.

VBA sukuriame pasirinktų ląstelių skaičiavimo funkciją.

12345678910111213141516 Funkcija CountCellsByColor (rng kaip diapazonas, ColorCell kaip diapazonas) kaip dvigubaDim dblCount As DoubleDim rngCell As Range„Kilpa perėjo kiekvieną diapazono ląstelęUž kiekvieną rngCell In rng“patikrinkite, ar vidinė spalva yra tokia pati kaip jūsų pasirinkto langelio spalvaJei rngCell.Interior.Color = ColorCell.Interior.Color TadaJei IsNumeric (rngCell.Value) = Tiesa tada„Padidinkite skaičių 1, jei spalva teisinga.dblCount = dblCount + 1Pabaiga JeiPabaiga JeiKitas„Grąžinkite vertę į„ Excel “CountCellsByColor = dblCountPabaigos funkcija

Tada naudokite šią funkciją darbalapyje, kad grąžintumėte vertę.

1 = CountCellsByColor (B2: E10, G4)
  1. Spustelėkite oranžinį langelį G4 ir spustelėkite Įterpti funkciją.

  1. Pasirinkite Naudotojo apibrėžta kaip kategoriją, tada pasirinkite CountCellsByColor kaip naudojama funkcija.

  1. Spustelėkite Gerai.

  1. Pažymėkite diapazoną, kuriame yra visos spalvotos ląstelės.

  1. Pasirinkite „ColorCell“, tada spustelėkite Gerai.

Pakartokite procesą, kad suskaičiuotumėte ląsteles žalia spalva.

1 = CountCellsByColor (B2: E10, G5)

Sumos langeliai - sukurkite pasirinktinę VBA funkciją

Mes sukuriame panašią pasirinktinę funkciją VBA, kad apibendrintume tam tikros spalvos langelių reikšmes.

12345678910111213141516 Funkcija SumCellsByColor (rng kaip diapazonas, ColorCell kaip diapazonas) kaip dvigubaDim dblSum As DoubleDim rngCell As Range„Kilpa perėjo kiekvieną diapazono ląstelęUž kiekvieną rngCell In rng“patikrinkite, ar vidinė spalva yra tokia pati kaip jūsų pasirinkto langelio spalvaJei rngCell.Interior.Color = ColorCell.Interior.Color TadaJei IsNumeric (rngCell.Value) = Tiesa tada“pridėkite vertę prie savo kintamojo, jei spalva teisingadblSum = dblSum + rngCell.ValuePabaiga JeiPabaiga JeiKitas„Grąžinkite vertę į„ Excel “SumCellsByColor = dblSumPabaigos funkcija

Tada dar kartą panaudotume šią funkciją darbalapyje, kad apibendrintume reikiamas ląsteles.

1 = SumCellsByColor (B2: E10, G7)

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave