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

Dodaj komentarz

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