Jak zaokrąglać wartości w vba (z przykładami)
Do zaokrąglania wartości można użyć metody RoundUp w języku VBA.
Ta funkcja wykorzystuje następującą podstawową składnię:
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
Ten konkretny przykład zaokrągli wartość w komórce A1 do najbliższej liczby całkowitej i wyświetli wynik w komórce B1 .
Należy zauważyć, że drugi argument metody RoundUp określa liczbę cyfr do zaokrąglenia w górę, gdzie:
- -3 rundy do następnego tysiąca
- -2 zaokrąglenia do najbliższej setki
- -1 zaokrągla w górę do najbliższej dziesiątki
- 0 zaokrągla do najbliższej liczby całkowitej
- 1 zaokrągla w górę do najbliższej części dziesiątej (jedno miejsce po przecinku)
- 2 w zaokrągleniu do części setnych (dwa miejsca po przecinku)
- 3 w zaokrągleniu do części tysięcznych (trzy miejsca po przecinku)
I tak dalej.
Poniższe przykłady pokazują, jak w praktyce wykorzystać metodę RoundUp .
Przykład 1: Zaokrąglenie do najbliższej liczby całkowitej w VBA
Możemy utworzyć następujące makro, aby zaokrąglić wartość w komórce A1 do najbliższej liczby całkowitej i wyświetlić wynik w komórce B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy zauważyć, że wartość 1432,78 w komórce A1 została zaokrąglona do najbliższej liczby całkowitej wynoszącej 1433 w komórce B1 .
Przykład 2: Zaokrąglij do setek w VBA
Możemy utworzyć następujące makro, aby zaokrąglić wartość w komórce A1 do najbliższej setki i wyświetlić wynik w komórce B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), -2)
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy zauważyć, że wartość 1432,78 w komórce A1 została zaokrąglona do najbliższej stu części 1500 w komórce B1 .
Przykład 3: Zaokrąglij do najbliższej dziesiątej w VBA
Możemy utworzyć następujące makro, aby zaokrąglić wartość w komórce A1 do najbliższej części dziesiątej (tj. jednego miejsca po przecinku) i wyświetlić wynik w komórce B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 1)
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy zauważyć, że wartość 1432,78 w komórce A1 została zaokrąglona w górę do najbliższej dziesiątej części 1432,8 w komórce B1 .
Uwaga : Pełną dokumentację metody VBA RoundUp można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak pisać funkcje SUMIF i SUMIFS
VBA: Jak pisać funkcje COUNTIFS i COUNTIFS
VBA: Jak pisać funkcje ŚREDNIA.JEŻELI i ŚREDNIA.JEŻELI