Cum să numărați sau să sumați celulele cu anumite culori în Excel

Descărcați Exemplu de registru de lucru

Descărcați exemplul de registru de lucru

Acest tutorial vă va arăta cum să numărați sau să sumați celulele unei anumite culori de fundal folosind VBA.

Luați în considerare următoarea gamă în Excel.

Nu există nicio funcție Excel încorporată pentru a număra celulele colorate. În schimb, trebuie să creăm o funcție definită de utilizator folosind VBA.

Numărați celulele - Creați o funcție personalizată VBA

Numărarea numărului de celule de o anumită culoare folosind VBA este o problemă de a crea o funcție definită de utilizator (UDF) care va parcurge toate celulele din interval și de a determina dacă culoarea de fundal a fiecărei celule se potrivește cu culoarea de fundal pe care o testează și apoi folosesc acea funcție în foaia de lucru Excel.

În VBA, creăm o funcție pentru a număra celulele selectate.

12345678910111213141516 Funcția CountCellsByColor (rng As Range, ColorCell As Range) Ca dublăDim dblCount As DoubleDim rngCell As Range'Buclă prin fiecare celulă din intervalPentru fiecare rngCell In rng'verificați dacă culoarea interioară are aceeași culoare cu celula pe care ați selectat-oDacă rngCell.Interior.Color = ColorCell.Interior.Color AtunciDacă IsNumeric (rngCell.Value) = Adevărat atunci'măriți numărul cu 1 dacă culoarea este corectă.dblCount = dblCount + 1End IfEnd IfUrmătorul'Întoarceți valoarea în ExcelCountCellsByColor = dblCountFuncția de sfârșit

Apoi utilizați această funcție în foaia de lucru pentru a returna valoarea.

1 = CountCellsByColor (B2: E10, G4)
  1. Faceți clic în celula portocalie din G4 și faceți clic pe Inserare funcție.

  1. Selectați Definit de utilizator ca categorie, apoi selectați CountCellsByColor ca funcție de utilizat.

  1. Clic Bine.

  1. Evidențiați gama care conține toate celulele colorate.

  1. Selectează ColorCell, apoi faceți clic pe Bine.

Repetați procesul pentru a număra celulele cu o culoare de fundal verde.

1 = CountCellsByColor (B2: E10, G5)

Sum Cells - Creați o funcție VBA personalizată

Creăm o funcție personalizată similară în VBA pentru a însuma valorile celulelor unei anumite culori.

12345678910111213141516 Funcția SumCellsByColor (ca Range, ColorCell As Range) ca DoubleDim dblSum As DoubleDim rngCell As Range'Buclați prin fiecare celulă din intervalPentru fiecare rngCell In rng'verificați dacă culoarea interioară are aceeași culoare cu celula pe care ați selectat-oDacă rngCell.Interior.Color = ColorCell.Interior.Color AtunciDacă IsNumeric (rngCell.Value) = Adevărat atunci'adăugați valoarea variabilei dvs. dacă culoarea este corectădblSum = dblSum + rngCell.ValueEnd IfEnd IfUrmătorul'Întoarceți valoarea în ExcelSumCellsByColor = dblSumFuncția de sfârșit

Apoi, vom folosi din nou această funcție în Foaia de lucru pentru a rezuma celulele necesare.

1 = SumCellsByColor (B2: E10, G7)

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave