Sådan tælles eller summeres celler med en vis farve i Excel

Download eksempel på projektmappe

Download eksemplet på projektmappe

Denne vejledning viser dig, hvordan du tæller eller summerer celler i en bestemt baggrundsfarve ved hjælp af VBA.

Overvej følgende område i Excel.

Der er ingen indbygget Excel -funktion til at tælle farvede celler. I stedet skal vi oprette en brugerdefineret funktion ved hjælp af VBA.

Tæl celler - Opret en tilpasset VBA -funktion

At tælle, hvor mange celler der er i en bestemt farve ved hjælp af VBA, er et spørgsmål om at oprette en brugerdefineret funktion (UDF), der vil gå gennem alle cellerne i området og afgøre, om baggrundsfarven på hver celle matcher den baggrundsfarve, du tester efter og derefter bruger den funktion i Excel -regnearket.

I VBA opretter vi en funktion til at tælle udvalgte celler.

12345678910111213141516 Funktion CountCellsByColor (rng As Range, ColorCell As Range) Som DoubleDim dblTæll som dobbeltDim rngCell som rækkevidde'Sløjfe gennem hver celle i områdetFor hver rngCell I rng'tjek for at se, om den indvendige farve er den samme farve som den celle, du har valgtHvis rngCell.Interior.Color = ColorCell.Interior.Color SåIf IsNumeric (rngCell.Value) = True Then'øg antallet med 1, hvis farven er korrekt.dblCount = dblCount + 1Afslut HvisAfslut HvisNæste'Returner værdien til ExcelCountCellsByColor = dblCountAfslut funktion

Brug derefter denne funktion i regnearket til at returnere værdien.

1 = CountCellsByColor (B2: E10, G4)
  1. Klik i den orange celle i G4, og klik på Indsæt funktion.

  1. Vælg Brugerdefineret som kategori, og vælg derefter CountCellsByColor som funktion at bruge.

  1. Klik på Okay.

  1. Fremhæv området, der indeholder alle de farvede celler.

  1. Vælg ColorCell, og klik derefter på Okay.

Gentag processen for at tælle cellerne med en grøn baggrundsfarve.

1 = CountCellsByColor (B2: E10, G5)

Sumceller - Opret en brugerdefineret VBA -funktion

Vi opretter en lignende brugerdefineret funktion i VBA for at summere værdierne af cellerne i en bestemt farve.

12345678910111213141516 Funktion SumCellsByColor (rng As Range, ColorCell As Range) Som DoubleDim dblSum som dobbeltDim rngCell som rækkevidde'Sløjfe gennem hver celle i områdetFor hver rngCell I rng'tjek for at se, om den indvendige farve er den samme farve som den celle, du har valgtHvis rngCell.Interior.Color = ColorCell.Interior.Color SåIf IsNumeric (rngCell.Value) = True Then'tilføj værdien til din variabel, hvis farven er korrektdblSum = dblSum + rngCell.ValueAfslut HvisAfslut HvisNæste'Returner værdien til ExcelSumCellsByColor = dblSumAfslut funktion

Vi ville så igen bruge denne funktion i regnearket til at opsummere de nødvendige celler.

1 = SumCellsByColor (B2: E10, G7)

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave