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


Для округлення значень можна використовувати метод RoundDown у VBA.

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

 Sub RoundDownValue()
    Range(" B1 ") = WorksheetFunction.RoundDown(Range(" A1 "), 0)
End Sub

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

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

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

І так далі.

Наступні приклади показують, як використовувати метод RoundDown на практиці.

Пов’язане: Як округлити значення у VBA

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

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

 Sub RoundDownValue()
    Range(" B1 ") = WorksheetFunction.RoundDown(Range(" A1 "), 0)
End Sub

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

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

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

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

 Sub RoundDownValue()
    Range(" B1 ") = WorksheetFunction.RoundDown(Range(" A1 "), -2)
End Sub

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

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

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

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

 Sub RoundDownValue()
    Range(" B1 ") = WorksheetFunction.RoundDown(Range(" A1 "), 1)
End Sub

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

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

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

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

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

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

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

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