W tym artykule utworzymy niestandardową funkcję do obliczania sumy liczb w komórkach w zakresie o zdefiniowanym kolorze.
W tym przykładzie przykładowe dane składają się z danych zespołu sprzedaży. Dane zespołu sprzedaży zawierają szczegóły dotyczące liczby sprzedanych przedmiotów. Zawiera informacje o produkcie, który jest dostępny w trzech kolorach Szarym, Czerwonym i Zielonym. Chcemy znaleźć sumę sprzedanych przedmiotów według koloru produktu.
Aby obliczyć sumę według koloru, stworzyliśmy niestandardową funkcję „SumByColor”. 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ż zostanie ponownie obliczona 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!
Opcja Funkcja jawna SumByColor(DefinedColorRange As Range, SumRange 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 SumRange If ICol = GCell.Interior.ColorIndex Then 'Pobieranie sumy pasującej kolorowej komórki SumByColor = SumByColor + GCell.Value 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