Функции VBA Round, RoundUp и RoundDown

VBA Round

Функция округления VBA округляет числа до указанного количества цифр.

Синтаксис функции округления VBA

Синтаксис функции VBA Round:

Round (Выражение, [Decimal_places]), где:

  • Выражение - число, которое нужно округлить.
  • Decimal_places (По желанию) - целое число, указывающее количество десятичных знаков для округления. Значение должно быть больше или равно 0 (> = 0). Если пусто, используется значение по умолчанию 0, что означает округление функции до ближайшего целого числа.

Итак, давайте рассмотрим пример, чтобы вы могли увидеть, как работает функция VBA Round с округлением до 1 десятичного знака:

12345 Дополнительный раунд1 ()Msgbox Round (7.25, 1)Конец подписки

Результирующий MessageBox:

VBA Round a Variable (округление переменной)

В приведенном выше примере мы ввели округляемое число непосредственно в функцию, однако обычно вместо этого вы округляете переменную. Ниже приведен пример использования вместо этого переменной:

Примечание. Мы используем переменную типа Double для хранения десятичных значений.

123456789 Sub RoundUsingVariable ()Dim unitcount As Doubleunitcount = 7,25MsgBox «Значение равно» & Round (unitcount, 1)Конец подписки

Результат:

Результаты округления VBA

Фактический номер Количество знаков после запятой Результат
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Значение круглой ячейки VBA

Вы также можете округлить значение ячейки непосредственно в VBA:

123 Sub RoundCell ()Диапазон ("A1"). Значение = Округление (Диапазон ("A1"). Значение, 2)Конец подписки

Функция VBA RoundUp

Допустим, вы хотите округлить число в большую сторону, используя VBA. Встроенной эквивалентной функции VBA RoundUp нет, вместо этого вы можете вызвать функцию Excel RoundUp Worksheet из своего кода VBA:

1 roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 3)

Функции рабочего листа Excel доступны для использования в VBA с помощью Рабочий лист объект. Единственные функции рабочего листа, которые вы не можете вызывать, - это те, которые уже имеют встроенный эквивалент VBA.

Напоминание о синтаксисе функции округления листа Excel:

ОКРУГЛ ВВЕРХ (Число; Цифры), где:

  • Число - число, которое нужно округлить в большую сторону.
  • Цифры - количество цифр, которое нужно округлить.

Итак, давайте рассмотрим пример, чтобы вы могли увидеть, как получить доступ к функции RoundUp Worksheet в вашем коде VBA:

12345678910111213 Sub RoundUp ()Dim unitcount As DoubleТусклый сводный обзорUnitcount As Doubleunitcount = 7,075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)MsgBox "Значение" & roundupUnitcountКонец подписки

Результат:

Округление до ближайшего целого числа

Вы можете округлить до ближайшего целого числа, указав 0 как количество десятичных знаков:

12345 Sub RoundUpWhole ()MsgBox Application.WorksheetFunction.RoundUp (7.1, 0)Конец подписки

Результат доставлен:

Программирование на VBA | Генератор кода действительно работает для вас!

Результаты функции округления

Фактический номер Цифры Результат
7.075711 0 8
7.075711 1 7.1
7.075711 2 7.08
7.075711 3 7.076
7.075711 -1 10
7.075711 -2 100
7.075711 -3 1000

Функция VBA RoundDown

Допустим, вы хотите округлить число в меньшую сторону с помощью VBA. Также нет встроенной эквивалентной функции VBA RoundDown, вместо этого, опять же, вы должны были бы вызвать функцию Excel RoundDown Worksheet из своего кода VBA.

Напоминание о синтаксисе функции округления листа Excel:

ОКРУГЛ ВНИЗ (число; цифры), где:

• Число - число, которое нужно округлить в меньшую сторону.
• Цифры - количество цифр, которое нужно округлить.

Итак, давайте рассмотрим пример, чтобы вы могли увидеть, как получить доступ к функции RoundDown Worksheet в вашем коде VBA:

12345678910111213 Sub RoundDown ()Dim unitcount As DoubleТусклое округлениеUnitcount As Doubleunitcount = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)MsgBox "Значение равно" & rounddownUnitcountКонец подписки

Результат:

Округление до ближайшего целого числа

Вы можете округлить до ближайшего целого числа, указав 0 как количество десятичных знаков:

12345 Sub RoundDownWhole ()MsgBox Application.WorksheetFunction.RoundDown (7,8, 0)Конец подписки

Результат:

Результаты функции RoundDown

Фактический номер Цифры Результат
5.225193 0 5
5.225193 1 5.2
5.225193 2 5.22
5.225193 3 5.225
5.225193 -1 0
5.225193 -2 0
5.225193 -3 0

Программирование на VBA | Генератор кода действительно работает для вас!

Другие функции округления VBA

Потолок VBA - округление до указанного значения

VBA не имеет эквивалента функции Ceiling.Math, поэтому, если вы хотите округлить число до ближайшего целого числа или до ближайшего указанного кратного значения, вы можете вызвать функцию Excel's Ceiling.Math из своего кода VBA.

Напоминание о синтаксисе функции Excel Worksheet Ceiling.Math:

CEILING.MATH (Число; [Значение], [Режим]), где:

  • Число - число, которое вы хотите округлить.
  • Значение (По желанию) - Множитель, до которого нужно округлить число.
  • Режим (По желанию) - Управляет округлением отрицательных чисел в сторону или от нуля.

Итак, давайте рассмотрим пример, чтобы вы могли увидеть, как получить доступ к функции Ceiling.Math Worksheet в вашем коде VBA:

12345678910111213 Sub RoundUpToSignificance ()Dim unitcount As DoubleТусклый потолокunitcount = 4,1221потолокmathUnitcount = Application.WorksheetFunction.Ceiling_Math (unitcount, 5)MsgBox "Значение равно" & потолокmathUnitcountКонец подписки

Результат:

VBA RoundUp до указанных результатов значимости

Фактический номер Значение Режим Результат
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

Этаж VBA - округление до указанного значения

VBA также не имеет эквивалента функции Floor.Math. Однако, опять же, если вы хотите округлить число до ближайшего целого числа или до ближайшего указанного кратного значения, вы можете вызвать функцию Excel Floor.Math из VBA.

Напоминание о синтаксисе функции Excel Worksheet Floor.Math:

FLOOR.MATH (Число, [Значение], [Режим]), где:
• Число - число, которое нужно округлить в меньшую сторону.
• Значение (По желанию) - Множитель, до которого нужно округлить число.
• Режим (По желанию) - Управляет округлением отрицательных чисел в сторону или от нуля.

Итак, давайте рассмотрим пример, чтобы вы могли увидеть, как получить доступ к функции Floor.Math Worksheet в вашем коде VBA:

1234567891011 Sub RoundDownToSignificance ()Dim unitcount As DoubleТусклый полunitcount = 4,55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unitcount, 2)MsgBox "Значение" & floormathUnitcountКонец подписки

Результат:

VBA RoundDown до определенных результатов значимости

Фактический номер Значение Режим Результат
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave