Как округлять значения в 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: как писать функции СУММЕСЛИ и СУММЕСЛИ
VBA: как писать функции COUNTIF и COUNTIFS
VBA: как написать функции СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИФС