W tym artykule stworzymy niestandardową funkcję do zliczania liczby komórek w zakresie o zdefiniowanych kolorach.
W tym przykładzie przykładowe dane składają się z zakresu o wartościach z zakresu od 100 do 1000. Wartości w komórkach są wyróżnione różnymi kolorami. Chcemy obliczyć liczbę każdego koloru.
Aby obliczyć liczbę określonego koloru, stworzyliśmy niestandardową funkcję „CountByColor”. Ta funkcja przyjmuje jako dane wejściowe dwa parametry zakresu. Pierwszy parametr zakresu określa kolor wnętrza komórki, a drugi parametr zakres określa zakres próbki.
Wyjaśnienie kodu
Application.Volatile jest używany, ponieważ będzie ponownie obliczany za każdym razem, gdy wartość komórki zostanie zmieniona w skoroszycie.
DefinedColorRange.Interior.ColorIndex
Powyższy kod służy do uzyskania koloru wnętrza zdefiniowanego zakresu.
Proszę postępować zgodnie z poniższym kodem!
Function CountByColor(DefinedColorRange As Range, CountRange As Range) Application.Volatile 'Deklarowanie zmiennych Dim ICol As Integer Dim GCell As Range 'Pobieranie koloru wnętrza komórki ICol = DefinedColorRange.Interior.ColorIndex 'Przechodzenie w pętlę przez zdefiniowany zakres For Each GCell In CountRange If ICol = GCell.Interior.ColorIndex Then 'Pobieranie liczby pasujących kolorowych komórek CountByColor = CountByColor + 1 End If Next GCell End Function
Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.
Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail