Як округлити значення у 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