Kuidas arvutada või liita lahtreid teatud värviga Excelis

Laadige alla töövihiku näide

Laadige alla töövihiku näide

See õpetus näitab teile, kuidas VBA abil teatud taustavärvi lahtreid loendada või summeerida.

Kaaluge Excelis järgmist vahemikku.

Värviliste lahtrite loendamiseks pole sisseehitatud Exceli funktsiooni. Selle asemel peame VBA abil looma kasutaja määratud funktsiooni.

Loendage lahtrid - looge kohandatud funktsioon VBA

VBA abil teatud värvi lahtrite loendamine on kasutaja määratud funktsiooni (UDF) loomine, mis vaatab kõik vahemiku lahtrid läbi ja määrab, kas iga lahtri taustavärv vastab teie valitud taustavärvile testivad ja kasutavad seda funktsiooni Exceli töölehel.

VBA -s loome funktsiooni valitud lahtrite loendamiseks.

12345678910111213141516 Funktsioon CountCellsByColor (rng As Range, ColorCell As Range) TopeltDim dblCount As DoubleDim rngCell As Range„Loop tegi kõik vahemiku lahtridIga rngraku jaoks rng'kontrollige, kas sisemine värv on teie valitud lahtriga sama värviKui rngCell.Interior.Color = ColorCell.Interior.Color SiisKui IsNumeric (rngCell.Value) = Tõene siis"kui värv on õige, suurendage arvu 1 võrra.dblCount = dblCount + 1Lõpp KuiLõpp KuiEdasi'Tagastage väärtus ExcelileCountCellsByColor = dblCountLõppfunktsioon

Seejärel kasutage väärtuse tagastamiseks seda funktsiooni töölehel.

1 = CountCellsByColor (B2: E10, G4)
  1. Klõpsake G4 oranži lahtrit ja seejärel nuppu Lisa funktsioon.

  1. Valige Kasutaja määratud kategooriana ja seejärel valige CountCellsByColor kasutatava funktsioonina.

  1. Klõpsake nuppu Okei.

  1. Tõstke esile vahemik, mis sisaldab kõiki värvilisi lahtreid.

  1. Valige ColorCellja seejärel klõpsake nuppu Okei.

Korrake protsessi, et loendada lahtrid rohelise taustaga.

1 = CountCellsByColor (B2: E10, G5)

Summarakud - looge kohandatud VBA -funktsioon

Loome sarnase kohandatud funktsiooni VBA -s, et liita teatud värvi lahtrite väärtused.

12345678910111213141516 Funktsioon SumCellsByColor (rng As Range, ColorCell As Range) TopeltDim dblSum As DoubleDim rngCell As Range„Loop tegi kõik vahemiku lahtridIga rngraku jaoks rng'kontrollige, kas sisemine värv on teie valitud lahtriga sama värviKui rngCell.Interior.Color = ColorCell.Interior.Color SiisKui IsNumeric (rngCell.Value) = Tõene siis"lisage oma muutujale väärtus, kui värv on õigedblSum = dblSum + rngCell.ValueLõpp KuiLõpp KuiEdasi'Tagastage väärtus ExcelileSumCellsByColor = dblSumLõppfunktsioon

Seejärel kasutaksime seda funktsiooni uuesti töölehel vajalike lahtrite summeerimiseks.

1 = SumCellsByColor (B2: E10, G7)

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave