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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *