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

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

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