Töltse le a példa munkafüzetet
Ez az oktatóanyag bemutatja, hogyan kell megszámolni vagy összegezni egy bizonyos háttérszínű cellákat a VBA segítségével.
Tekintsük az alábbi tartományt az Excelben.
Nincs beépített Excel funkció a színes cellák számolására. Ehelyett létre kell hoznunk egy felhasználó által definiált függvényt a VBA használatával.
Cellaszámlálás - Hozzon létre VBA egyéni funkciót
A VBA használatával számolni kell, hogy hány cella van egy adott színben, egy felhasználó által definiált függvény (UDF) létrehozása, amely végigmegy a tartomány összes celláján, és meghatározza, hogy az egyes cellák háttérszíne megegyezik-e a háttérszínnel teszteli, majd használja ezt a funkciót az Excel munkalapon.
A VBA -ban létrehozunk egy funkciót a kijelölt cellák számlálására.
12345678910111213141516 | Funkció CountCellsByColor (rng, mint tartomány, ColorCell, mint tartomány), mint kettősDim dblCount as DoubleDim rngCell As Range- Hurok a tartomány minden cellájábanMinden rngCell In rng'ellenőrizze, hogy a belső szín megegyezik -e a kiválasztott cella színévelHa rngCell.Interior.Color = ColorCell.Interior.Color AkkorHa IsNumeric (rngCell.Value) = Igaz akkor'növelje a számot 1 -gyel, ha a szín megfelelő.dblCount = dblCount + 1Vége HaVége HaKövetkező'Adja vissza az értéket az ExcelbeCountCellsByColor = dblCountVége funkció |
Ezután használja ezt a funkciót a munkalapon az érték visszaadásához.
1 | = CountCellsByColor (B2: E10, G4) |
- Kattintson a G4 narancssárga cellájára, majd a Funkció beszúrása elemre.
- Válassza a lehetőséget Felhasználó által meghatározott kategóriának, majd válassza a lehetőséget CountCellsByColor mint használni kívánt funkció.
- Kattintson rendben.
- Jelölje ki az összes színes cellát tartalmazó tartományt.
- Válaszd ki a ColorCell, majd kattintson a gombra rendben.
Ismételje meg a folyamatot, hogy megszámolja a zöld háttérszínű cellákat.
1 | = CountCellsByColor (B2: E10, G5) |
Összes cellák - Hozzon létre egyéni VBA -funkciót
Hasonló egyéni függvényt hozunk létre a VBA -ban, hogy összeadjuk egy adott színű cellák értékeit.
12345678910111213141516 | Funkció SumCellsByColor (rng, mint tartomány, ColorCell, mint tartomány), mint kettősDim dblSum As DoubleDim rngCell As Range- Hurok a tartomány minden cellájábanMinden rngCell In rng'ellenőrizze, hogy a belső szín megegyezik -e a kiválasztott cella színévelHa rngCell.Interior.Color = ColorCell.Interior.Color AkkorHa IsNumeric (rngCell.Value) = Igaz akkor'adja hozzá az értéket a változóhoz, ha a szín megfelelődblSum = dblSum + rngCell.ValueVége HaVége HaKövetkező'Adja vissza az értéket az ExcelbeSumCellsByColor = dblSumVége funkció |
Ezt a funkciót ismét használnánk a munkalapon a szükséges cellák összegzéséhez.
1 | = SumCellsByColor (B2: E10, G7) |