Funkcija zaokroževanja Excel VBA
Podobno kot pri funkciji delovnega lista, kjer številke zaokrožimo na najbližja cela števila, imamo tudi v VBA funkcijo RoundUp, ki nam zmanjša decimalno vejico, sintaksa za uporabo funkcije zaokroževanja pa je naslednja: Round up (Number, Number of Digits After Decimal ) ta dva argumenta v funkciji sta obvezna.
Ko delamo s števili in izračuni, dobimo številke ulomkov po celotnem številu in je v vsakdanjem poslu precej pogosto. Običajno se ne obremenjujemo z decimalnimi vrednostmi, ker to ne vpliva na naš končni rezultat. V teh primerih moramo številke zaokrožiti na najbližje celo število ali neposredno celo število. Z uporabo funkcije RoundUp lahko to nalogo dejansko izvedemo.
Če ste v VBA iskali funkcijo RoundUp, potem je ne smete najti, ker gre za funkcijo delovnega lista. Za dostop do funkcije RoundUp moramo uporabiti razred VBA Worksheet Function.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_2.png.webp)
Pred tem se spomnite sintakse funkcije RoundUp.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_3.png.webp)
Primeri
Izvedimo nalogo zaokroževanja številke “288.5264”. Vse številke bomo videli na tem primeru.
Primer # 1 - Ko je drugi argument nič
Oglejte si spodnjo kodo VBA.
Koda:
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)
- Ko zaženete zgornjo kodo, bo pretvorila navedeno število, tj. 288,5264, na najbližje celo število, tj. 289
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_5.png.webp)
2. primer - Ko je drugi argument 1
Oglejte si spodnjo kodo, da vidite, kaj se zgodi, ko enega prenesemo kot drugi argument.
Koda:
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)
- Ta koda bo pretvorila dano število v eno decimalno vejico, tj. 288,6
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_7.png.webp)
3. primer - Ko je drugi argument 2
Oglejte si spodnjo kodo, da vidite, kaj se zgodi, ko damo dva kot drugi argument.
Koda:
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)
- Ta koda bo dano število pretvorila v dve decimalni mesti, tj. 288,53
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_9.png.webp)
Primer # 4 - Ko je drugi argument 3
Oglejte si spodnjo kodo, da vidite, kaj se zgodi, ko kot drugi argument damo tri.
Koda:
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)
- Ta koda bo pretvorila dano število v tri decimalna mesta, tj. 288,527
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_11.png.webp)
5. primer - Ko je drugi argument -1
Oglejte si spodnjo kodo, da vidite, kaj se zgodi, ko kot drugi argument prenesemo minus ena.
Koda:
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)
- Ta koda bo pretvorila dano število na najbližjih deset, tj. 290.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_13.png.webp)
6. primer - Ko je drugi argument -2
Oglejte si spodnjo kodo, da vidite, kaj se zgodi, ko kot drugi argument prenesemo minus dva.
Koda:
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)
- Ta koda bo pretvorila dano število na najbližjih sto, tj. 300.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_15.png.webp)
7. primer - Ko je drugi argument -3
Oglejte si spodnjo kodo, da vidite, kaj se zgodi, ko kot drugi argument prenesemo minus tri.
Koda:
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)
- Ta koda bo pretvorila število na najbližjih tisoč, to je 1000.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_17.png.webp)
Tako lahko tudi funkcijo ROUNDUP v VBA uporabimo kot del razreda funkcije delovnega lista za zaokroževanje številk na podlagi podanega drugega argumenta.