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