Як округлити значення у vba (з прикладами)


Ви можете використовувати метод RoundUp у VBA, щоб округлити значення.

Ця функція використовує такий базовий синтаксис:

 Sub RoundUpValue()
    Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub

У цьому конкретному прикладі значення в клітинці A1 округлиться до найближчого цілого числа та відобразить результат у клітинці B1 .

Зауважте, що другий аргумент методу RoundUp визначає кількість цифр, які потрібно округлити, де:

  • -3 раунди до наступної тисячі
  • -2 раунди до найближчої сотні
  • -1 округлює до найближчого десяти
  • 0 округлює до найближчого цілого числа
  • 1 округлює до найближчої десятої (один знак після коми)
  • 2 округлено до сотих (два знаки після коми)
  • 3 округлено до найближчої тисячної (три знаки після коми)

І так далі.

У наступних прикладах показано, як використовувати метод RoundUp на практиці.

Приклад 1: Округлення до найближчого цілого числа у VBA

Ми можемо створити такий макрос, щоб округлити значення в клітинці A1 до найближчого цілого числа та відобразити результат у клітинці B1 :

 Sub RoundUpValue()
    Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Зауважте, що значення 1432,78 у клітинці A1 було округлено до найближчого цілого числа 1433 у клітинці B1 .

Приклад 2: Округлення до найближчої сотні у VBA

Ми можемо створити такий макрос, щоб округлити значення в клітинці A1 до найближчої сотні та відобразити результат у клітинці B1 :

 Sub RoundUpValue()
    Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), -2)
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Зауважте, що значення 1432,78 у клітинці A1 було округлено до найближчої сотні 1500 у клітинці B1 .

Приклад 3: Округлення до найближчої десятої у VBA

Ми можемо створити наступний макрос, щоб округлити значення в клітинці A1 до найближчої десятої (тобто до одного знака після коми) і відобразити результат у клітинці B1 :

 Sub RoundUpValue()
    Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 1)
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Зверніть увагу, що значення 1432,78 у клітинці A1 було округлено до найближчої десятої 1432,8 у клітинці B1 .

Примітка . Ви можете знайти повну документацію для методу VBA RoundUp тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: як написати функції SUMIF і SUMIFS
VBA: як написати функції COUNTIF і COUNTIFS
VBA: як написати функції AVERAGEIF і AVERAGEIFS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *