Vba: jak obliczyć średnią wartość zakresu
Aby obliczyć średnią wartość zakresu w programie Excel przy użyciu języka VBA, możesz użyć następującej podstawowej składni:
SubAverageRange ()
Range(" E2 ") = WorksheetFunction.Average(Range(" B1:B12 "))
End Sub
Ten konkretny przykład oblicza średnią wartość w zakresie B2:B12 i przypisuje wynik do komórki E2 .
Jeśli zamiast tego chcesz wyświetlić średnią wartość w oknie komunikatu, możesz użyć następującej składni:
SubAverageRange ()
'Create variable to store average value
Dim avg As Single
'Calculate average value of range
avg = WorksheetFunction.Average(Range(" B1:B12 "))
'Display the result
MsgBox " Average Value in Range: " & avg
End Sub
Poniższe przykłady pokazują, jak w praktyce zastosować każdą z tych metod, mając do dyspozycji następujący zbiór danych w Excelu, który zawiera informacje o różnych koszykarzach:
Przykład 1: Oblicz średnią zakresu za pomocą VBA i wyświetl wyniki w komórce
Załóżmy, że chcemy obliczyć średnią wartość w kolumnie punktów i wyświetlić wyniki w określonej komórce.
W tym celu możemy utworzyć następujące makro:
SubAverageRange ()
Range(" E2 ") = WorksheetFunction.Average(Range(" B1:B12 "))
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że komórka E2 zawiera wartość 21,27273 .
To mówi nam, że średnia wartość w kolumnie punktów wynosi 21,27273.
Przykład 2: Oblicz średnią zakresu za pomocą VBA i wyświetl wyniki w oknie komunikatu
Załóżmy, że zamiast tego chcemy obliczyć średnią wartość w kolumnie punktów i wyświetlić wyniki w oknie komunikatu.
W tym celu możemy utworzyć następujące makro:
SubAverageRange ()
'Create variable to store average value
Dim avg As Single
'Calculate average value of range
avg = WorksheetFunction.Average(Range(" B1:B12 "))
'Display the result
MsgBox " Average Value in Range: " & avg
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Okno komunikatu informuje nas, że średnia wartość w zakresie B2:B12 wynosi 21,27273 .
Zauważ, że w tym przykładzie obliczyliśmy średnią wartość z zakresu B2:B12 .
Jeśli jednak zamiast tego chcesz obliczyć średnią wartość w całej kolumnie, możesz zamiast tego wpisać B:B .
Spowoduje to obliczenie średniej wartości dla każdej komórki w kolumnie B.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak napisać funkcje ŚREDNIA.JEŻELI i ŚREDNIA.JEŻELI
VBA: Jak pisać funkcje SUMIF i SUMIFS
VBA: Jak pisać funkcje COUNTIFS i COUNTIFS