Jak zaokrąglać wartości w vba (z przykładami)
Do zaokrąglania wartości można użyć metody RoundDown w języku VBA.
Ta funkcja wykorzystuje następującą podstawową składnię:
Sub RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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 RoundDown określa liczbę cyfr do zaokrąglenia, gdzie:
- -3 zaokrągla w dół do najbliższego tysiąca
- -2 zaokrągla w dół do najbliższej setki
- -1 zaokrągla w dół do najbliższej dziesiątki
- 0 zaokrągla w dół do najbliższej liczby całkowitej
- 1 zaokrągla w dół do najbliższej części dziesiątej (jednego miejsca po przecinku)
- 2 zaokrąglenia w dół do części setnych (dwa miejsca po przecinku)
- 3 zaokrąglone w dół do części tysięcznych (trzy miejsca po przecinku)
I tak dalej.
Poniższe przykłady pokazują, jak w praktyce wykorzystać metodę RoundDown .
Powiązane: Jak zaokrąglać wartości w VBA
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 RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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 1432 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 RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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 setki liczby 1400 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. jednej części po przecinku) i wyświetlić wynik w komórce B1 :
Sub RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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 dół do najbliższej dziesiątej części 1432,7 w komórce B1 .
Uwaga : Pełną dokumentację metody RoundDown VBA 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