Funkcja Excel VBA RoundUp
Podobnie jak funkcja arkusza roboczego, w której zaokrąglamy liczby do najbliższych liczb całkowitych, w VBA mamy funkcję RoundUp, która zmniejsza przecinek dziesiętny dla nas, a składnia użycia funkcji zaokrąglania jest następująca Zaokrąglij w górę (liczba, liczba cyfr po przecinku ) te dwa argumenty w funkcji są obowiązkowe.
Kiedy pracujemy z liczbami i obliczeniami, liczby ułamkowe otrzymujemy po liczbie całkowitej i jest to dość powszechne w codziennym biznesie. Generalnie nie przejmujemy się wartościami dziesiętnymi, ponieważ nie mają one żadnego wpływu na nasz wynik końcowy. W takich sytuacjach musimy zaokrąglić liczby do najbliższej liczby całkowitej lub natychmiastowej liczby całkowitej. Korzystając z funkcji RoundUp, możemy faktycznie wykonać to zadanie.
Jeśli szukałeś w języku VBA funkcji RoundUp, to nie mogłeś jej znaleźć, ponieważ jest to funkcja arkusza. Aby uzyskać dostęp do funkcji RoundUp, musimy użyć klasy VBA Worksheet Function.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_2.png.webp)
Wcześniej przypomnij sobie składnię funkcji RoundUp.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_3.png.webp)
Przykłady
Wykonajmy zadanie zaokrąglenia liczby „288,5264” w górę. W tym przykładzie zobaczymy wszystkie liczby.
Przykład 1 - gdy drugi argument ma wartość zero
Spójrz na poniższy kod VBA.
Kod:
Sub RoundUp_Example1 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 0) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_4.png.webp)
- Po uruchomieniu powyższego kodu zamieni on podaną liczbę, tj. 288,5264, na najbliższą liczbę całkowitą, tj. 289
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_5.png.webp)
Przykład 2 - gdy drugim argumentem jest 1
Spójrz na poniższy kod, aby zobaczyć, co się stanie, gdy przekażemy jeden jako drugi argument.
Kod:
Sub RoundUp_Example2 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 1) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_6.png.webp)
- Ten kod zamieni podaną liczbę na jedno miejsce dziesiętne, tj. 288,6
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_7.png.webp)
Przykład 3 - gdy drugi argument to 2
Spójrz na poniższy kod, aby zobaczyć, co się stanie, gdy przekażemy dwa jako drugi argument.
Kod:
Sub RoundUp_Example3 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 2) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_8.png.webp)
- Ten kod zamieni podaną liczbę na dwa miejsca po przecinku, tj. 288,53
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_9.png.webp)
Przykład # 4 - Gdy drugi argument to 3
Spójrz na poniższy kod, aby zobaczyć, co się stanie, gdy przekażemy trzy jako drugi argument.
Kod:
Sub RoundUp_Example4 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 3) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_10.png.webp)
- Ten kod zamieni podaną liczbę na trzy miejsca po przecinku, tj. 288,527
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_11.png.webp)
Przykład # 5 - gdy drugi argument ma wartość -1
Spójrz na poniższy kod, aby zobaczyć, co się stanie, gdy przekażemy minus jeden jako drugi argument.
Kod:
Sub RoundUp_Example5 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, -1) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_12.png.webp)
- Ten kod zamieni podaną liczbę na najbliższą dziesiątkę, tj. 290.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_13.png.webp)
Przykład # 6 - Gdy drugi argument wynosi -2
Spójrz na poniższy kod, aby zobaczyć, co się stanie, gdy przekażemy minus dwa jako drugi argument.
Kod:
Sub RoundUp_Example6 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, -2) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_14.png.webp)
- Ten kod zamieni podaną liczbę na najbliższą setkę, czyli 300.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_15.png.webp)
Przykład # 7 - Gdy drugi argument to -3
Spójrz na poniższy kod, aby zobaczyć, co się stanie, gdy przekażemy minus trzy jako drugi argument.
Kod:
Sub RoundUp_Example7 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, -3) MsgBox k End Sub
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_16.png.webp)
- Ten kod zamieni liczbę na najbliższy tysiąc, czyli 1000.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_17.png.webp)
W ten sposób możemy użyć funkcji ZAOKR.GÓRA w języku VBA jako części klasy funkcji arkusza do zaokrąglania liczb w oparciu o podany drugi argument.