Jak liczyć lub sumować komórki z określonym kolorem w programie Excel?

Pobierz przykładowy skoroszyt

Pobierz przykładowy skoroszyt

Ten samouczek pokaże Ci, jak liczyć lub sumować komórki o określonym kolorze tła za pomocą VBA.

Rozważ następujący zakres w Excelu.

Nie ma wbudowanej funkcji Excela do zliczania kolorowych komórek. Zamiast tego musimy utworzyć funkcję zdefiniowaną przez użytkownika za pomocą VBA.

Policz komórki - utwórz niestandardową funkcję VBA

Liczenie, ile komórek ma określony kolor za pomocą VBA, jest kwestią utworzenia funkcji zdefiniowanej przez użytkownika (UDF), która przejdzie przez wszystkie komórki w zakresie i określi, czy kolor tła każdej komórki pasuje do koloru tła, który ty testują, a następnie używają tej funkcji w arkuszu programu Excel.

W VBA tworzymy funkcję do zliczania wybranych komórek.

12345678910111213141516 Funkcja CountCellsByColor(rng As Range, ColorCell As Range) Jako DoubleDim dblCount jako DoubleDim rngCell As Range'Przejdź przez każdą komórkę w zakresieDla każdej komórki rng w rng'sprawdź, czy kolor wnętrza jest tego samego koloru co wybrana komórkaIf rngCell.Interior.Color = ColorCell.Interior.Color ThenIf IsNumeric(rngCell.Value) = True Then'zwiększ liczbę o 1, jeśli kolor jest prawidłowy.dblCount = dblCount + 1Zakończ, jeśliZakończ, jeśliNastępny'Zwróć wartość do ExcelaLiczbaKomórekByKolor = dblLiczbaKoniec funkcji

Następnie użyj tej funkcji w arkuszu, aby zwrócić wartość.

1 =LiczKomórkiWgKoloru(B2:E10;G4)
  1. Kliknij pomarańczową komórkę w G4 i kliknij Wstaw funkcję.

  1. Wybierz Określony przez użytkownika jako kategorię, a następnie wybierz Policz komórki według koloru jako funkcja do użycia.

  1. Kliknij ok.

  1. Zaznacz zakres zawierający wszystkie kolorowe komórki.

  1. Wybierz ColorCell, a następnie kliknij ok.

Powtórz proces, aby policzyć komórki z zielonym kolorem tła.

1 =LiczKomórkiWgKoloru(B2:E10;G5)

Sum Cells - Utwórz niestandardową funkcję VBA

Tworzymy podobną funkcję niestandardową w VBA, aby zsumować wartości komórek określonego koloru.

12345678910111213141516 Funkcja SumCellsByColor(rng As Range, ColorCell As Range) As DoubleDim dblSum As DoubleDim rngCell As Range'Przejdź przez każdą komórkę w zakresieDla każdej komórki rng w rng'sprawdź, czy kolor wnętrza jest tego samego koloru co wybrana komórkaIf rngCell.Interior.Color = ColorCell.Interior.Color ThenIf IsNumeric(rngCell.Value) = True Then'dodaj wartość do swojej zmiennej, jeśli kolor jest poprawnydblSum= dblSum + rngCell.WartośćZakończ, jeśliZakończ, jeśliNastępny'Zwróć wartość do ExcelaSumaKomórekWedługKoloru = dblSumaKoniec funkcji

Następnie ponownie użyjemy tej funkcji w Arkuszu, aby zsumować wymagane komórki.

1 = SumaKomórekWgKoloru(B2:E10;G7)

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave