Preuzmite primjer radne knjige
Ovaj će vam vodič pokazati kako prebrojati ili zbrojiti ćelije određene boje pozadine pomoću VBA.
Razmotrite sljedeći raspon u Excelu.
Ne postoji ugrađena funkcija Excel za brojanje ćelija u boji. Umjesto toga moramo stvoriti Korisnički definiranu funkciju koristeći VBA.
Brojanje ćelija - Izradite prilagođenu funkciju VBA
Brojanje koliko je ćelija određene boje pomoću VBA-e stvar je stvaranja korisnički definirane funkcije (UDF) koja će prolaziti kroz sve ćelije u rasponu i utvrditi slaže li se boja pozadine svake ćelije s bojom pozadine koju testiraju, a zatim koriste tu funkciju na radnom listu programa Excel.
U VBA -i stvaramo funkciju za brojanje odabranih ćelija.
12345678910111213141516 | Funkcija CountCellsByColor (rng kao raspon, ColorCell kao raspon) kao dvostrukaDim dblCount As DoubleDim rngCell As Range'Petlja kroz svaku ćeliju u rasponuZa svaku rngCell U rng'provjerite je li boja interijera iste boje kao ćelija koju ste odabraliAko je rngCell.Interior.Color = ColorCell.Interior.Boja ZatimAko je IsNumeric (rngCell.Value) = Tačno'povećajte broj za 1 ako je boja ispravna.dblCount = dblCount + 1Završi akoZavrši akoSljedeći'Vratite vrijednost u ExcelCountCellsByColor = dblCountZavršna funkcija |
Zatim upotrijebite ovu funkciju na radnom listu za vraćanje vrijednosti.
1 | = CountCellsByColor (B2: E10, G4) |
- Pritisnite narančastu ćeliju u G4, a zatim kliknite Umetni funkciju.
- Odaberi Korisnik definiran kao kategoriju, a zatim odaberite CountCellsByColor kao funkciju za korištenje.
- Klik u redu.
- Označite raspon koji sadrži sve obojene ćelije.
- Odaberite ColorCell, a zatim kliknite u redu.
Ponovite postupak za brojanje ćelija sa zelenom bojom pozadine.
1 | = CountCellsByColor (B2: E10, G5) |
Zbrojne ćelije - Izradite prilagođenu VBA funkciju
Mi stvaramo sličnu prilagođenu funkciju u VBA -i kako bismo zbrojili vrijednosti ćelija određene boje.
12345678910111213141516 | Funkcija SumCellsByColor (rng kao raspon, ColorCell kao raspon) kao dvostrukaDim dblSum As DoubleDim rngCell As Range'Petlja kroz svaku ćeliju u rasponuZa svaku rngCell U rng'provjerite je li boja interijera iste boje kao ćelija koju ste odabraliAko je rngCell.Interior.Color = ColorCell.Interior.Boja ZatimAko je IsNumeric (rngCell.Value) = Tačno'dodajte vrijednost svojoj varijabli ako je boja ispravnadblSum = dblSum + rngCell.VrijednostZavrši akoZavrši akoSljedeći'Vratite vrijednost u ExcelSumCellsByColor = dblSumZavršna funkcija |
Zatim bismo još jednom upotrijebili ovu funkciju na radnom listu kako bismo saželi potrebne ćelije.
1 | = SumCellsByColor (B2: E10, G7) |