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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *