Функция Excel VBA Roundup
Подобно на функцията на работния лист, където закръгляме числата до най-близките цели числа, във VBA имаме функция RoundUp, която намалява десетичната запетая за нас, а синтаксисът за използване на функцията за закръгляване е както следва Закръгляване нагоре (число, брой цифри след десетични ) тези два аргумента във функцията са задължителни.
Когато работим с числа и изчисления, получаваме дробни числа след цялото число и това е доста често в ежедневния бизнес. Обикновено не се притесняваме за десетичните стойности, защото това не оказва влияние върху крайния ни резултат. В тези ситуации трябва да закръглим числата до най-близкото цяло число или непосредствено цяло число. Използвайки функцията RoundUp, ние всъщност можем да изпълним тази задача.
Ако сте търсили във VBA функцията RoundUp, тогава не трябва да сте я намерили, защото това е функция на работен лист. За да получим достъп до функцията RoundUp, трябва да използваме класа VBA Worksheet Function.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_2.png.webp)
Преди това си спомнете синтаксиса на функцията RoundUp.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_3.png.webp)
Примери
Нека изпълним задачата за закръгляване на числото “288.5264”. Ще видим всички числа с този пример.
Пример # 1 - Когато вторият аргумент е нула
Вижте долния код на VBA.
Код:
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)
- Когато стартирате горния код, той ще преобразува предоставеното число, т.е. 288.5264, до най-близкото цяло число, т.е. 289
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_5.png.webp)
Пример # 2 - Когато вторият аргумент е 1
Погледнете кода по-долу, за да видите какво се случва, когато предадем един като втори аргумент.
Код:
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)
- Този код ще преобразува даденото число в една десетична запетая, т.е. 288,6
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_7.png.webp)
Пример # 3 - Когато вторият аргумент е 2
Погледнете кода по-долу, за да видите какво се случва, когато предадем две като втори аргумент.
Код:
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)
- Този код ще преобразува даденото число в два знака след десетичната запетая, т.е. 288,53
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_9.png.webp)
Пример # 4 - Когато вторият аргумент е 3
Погледнете кода по-долу, за да видите какво се случва, когато предадем три като втори аргумент.
Код:
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)
- Този код ще преобразува даденото число в три знака след десетичната запетая, т.е. 288.527
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_11.png.webp)
Пример # 5 - Когато вторият аргумент е -1
Погледнете кода по-долу, за да видите какво се случва, когато подадем минус едно като втори аргумент.
Код:
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)
- Този код ще преобразува даденото число с точност до десет, т.е. 290.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_13.png.webp)
Пример # 6 - Когато вторият аргумент е -2
Погледнете кода по-долу, за да видите какво се случва, когато подадем минус две като втори аргумент.
Код:
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)
- Този код ще преобразува даденото число до най-близката стотина, т.е. 300.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_15.png.webp)
Пример # 7 - Когато вторият аргумент е -3
Погледнете кода по-долу, за да видите какво се случва, когато предадем минус три като втори аргумент.
Код:
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)
- Този код ще преобразува числото до най-близката хиляда, т.е. 1000.
![](https://cdn.know-base.net/9513401/vba_roundup_funciton_to_round_up_numbers_in_excel_17.png.webp)
По този начин можем да използваме функцията ROUNDUP във VBA като част от клас на функция на работния лист, за да закръглим числата въз основа на предоставения втори аргумент.