Jak korzystać z funkcji sumy częściowej w vba (z przykładami)
Możesz użyć funkcji SUMA CZĘŚCIOWA w programie Excel, aby obliczyć statystyki ogólne tylko dla widocznych komórek w arkuszu.
Aby skorzystać z funkcji SUBTOTAL, możesz użyć następującej podstawowej składni w języku VBA:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Ten konkretny przykład oblicza sumę wartości w widocznych komórkach z zakresu B2:B11 i wyświetla wynik w komórce A16 .
Należy zauważyć, że pierwszy argument metody Subtotal określa metodę agregacji, która ma zostać użyta, gdy:
- 1 : ŚREDNI
- 2 : KONTO
- 3 : KONTO
- 4 : MAKSYMALNE
- 5 : MINIMUM
- 6 : PRODUKT
- 7 :ODCHST
- 8 : ROZW. STANDARDOWY
- 9 : SUMA
- 10 : ZMIANA
- 11 : WARIANCJA
Poniższy przykład pokazuje jak w praktyce wykorzystać metodę Subtotal w VBA.
Przykład: Jak używać sumy częściowej w VBA
Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:
Załóżmy teraz, że zastosujemy filtr, aby wyświetlić tylko wiersze, w których zespół jest równy A lub C:
Możemy utworzyć następujące makro, aby obliczyć sumę widocznych komórek w kolumnie punktów i wyświetlić wyniki w komórce A16 :
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że komórka A16 zawiera wartość 168 .
To mówi nam, że suma komórek widocznych w kolumnie punktów wynosi 168.
Możemy także zmienić wartość pierwszego argumentu metody Subtotal , aby obliczyć inną metrykę.
Na przykład możemy użyć wartości 1 , aby zamiast tego obliczyć średnią z widocznych komórek w kolumnie punktów:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że komórka A16 zawiera wartość 24 .
To mówi nam, że średnia komórek widocznych w kolumnie punktów wynosi 24.
Uwaga : Pełną dokumentację metody sumy częściowej VBA można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak dodać wartości w zakresie
VBA: Jak obliczyć średnią wartość zakresu
VBA: Jak policzyć liczbę wierszy w zakresie