Функция Excel VBA Round

Вы должны использовать функцию Excel Round для округления плавающих чисел до определенного количества десятичных знаков. Функция VBA Round работает совершенно иначе, чем та, которую вы используете в Excel. Функция VBA Round использует логику «округлить до четного». Если число, которое вы пытаетесь округлить, имеет последнюю цифру после десятичной дроби> = 0, 6, функция округления VBA округляет ее (округление в большую сторону).

Если число, которое вы пытаетесь округлить, имеет последнюю цифру после десятичной дроби <= 0, 4, оно округляет ее (округление вниз). Предположим, что десятичная часть точно равна 0, 5, что она делает? В таких случаях он проверяет целую часть числа. Если целая часть четная, то она округляется до четного числа десятичной части. Если целая часть нечетная, то она округляется до четного числа. Этот метод округления также называется «банковским округлением».

Синтаксис функции раунда в Excel VBA

Функция VBA Round имеет следующий синтаксис:

Где,

  • Выражение - плавающее число, которое вы хотите округлить.
  • Decimal_places - это необязательный аргумент, который принимает целочисленное значение, которое определяет десятичные разряды, до которых число должно быть круглым. Всегда должно быть больше или равно нулю. Если не указан, по умолчанию считается ноль. Это означает, что число округляется до целого числа.

Как использовать функцию Excel VBA Round?

Мы узнаем, как использовать функцию VBA Round, с несколькими примерами в Excel.

Вы можете скачать этот шаблон VBA Round Excel здесь - Шаблон VBA Round Excel

Пример # 1 - функция округления VBA для округления числа

Выполните следующие шаги, чтобы использовать функцию округления в Excel VBA.

Шаг 1. Вставьте новый модуль в редактор Visual Basic (VBE).

Шаг 2: Определите новую подпроцедуру для сохранения макроса в VBE.

Код:

 Sub Round_Ex1 () End Sub 

Шаг 3: Используйте функцию MsgBox, чтобы иметь возможность всплывать сообщение типа «Значение округлено:»

Код:

 Sub Round_Ex1 () MsgBox "Значение округлено:" Конец Sub 

Шаг 4: Теперь добавьте «& Round (10.9834, 2)» перед командой MsgBox, чтобы округленное значение отображалось в окне сообщения.

Код:

 Sub Round_Ex1 () MsgBox "Значение округлено:" & Round (10.9834, 2) End Sub 

Шаг 5: Нажмите F5 или кнопку Run, расположенную на самой верхней панели, чтобы запустить этот код. Вы увидите вывод, как показано ниже.

Пример №2 - округление переменной с использованием VBA Round

Шаг 1: Определите новую подпроцедуру в VBE для хранения макроса.

Код:

 Sub Round_Ex2 () End Sub 

Шаг 2: Определите переменную с именем roundNumber как Double, которая может содержать значение округляемого числа.

Код:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

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

Код:

 Sub Round_Ex2 () Dim roundNumber As Double RoundNumber = 23, 98 End Sub 

Шаг 4: Используйте комбинацию MsgBox и функцию Round, чтобы округлить это число до одного десятичного знака.

Код:

 Sub Round_Ex2 () Dim roundNumber As Double RoundNumber = 23, 98 MsgBox "Число округлено:" & Round (roundNumber, 1) End Sub 

Шаг 5: Давайте нажмем F5 или кнопку Run, чтобы запустить этот код и увидеть результат.

Вы можете увидеть результат, как показано на скриншоте выше. Обратите внимание, что с логикой «округлить до четного» последнее десятичное число округляется до 10, а следующее десятичное становится само 10, вследствие чего число округляется до ближайшей четной части целого числа (то есть 24).

Пример # 3 - Значение круглой ячейки с использованием VBA Round

Предположим, что значение, которое вы хотите округлить, хранится в одной ячейке вашего листа Excel.

Все, что вы хотите, это округлить это значение до двух десятичных знаков.

Шаг 1: Определите новую подпроцедуру в модуле для хранения макроса.

Код:

 Sub Round_Ex3 () End Sub 

Шаг 2: Запишите команду как «Диапазон (« А2 »). Значение =». Эта команда работает как место, где выходные данные будут сохранены.

Код:

 Sub Round_Ex3 () Range ("A2"). Значение = End Sub 

Шаг 3: Теперь используйте функцию округления, чтобы округлить значение, присутствующее в ячейке A1, и сохранить результат в ячейке A2. Напишите следующий фрагмент кода: Round (Range («A1»). Value, 2).

Код:

 Sub Round_Ex3 () Range ("A2"). Value = Round (Range ("A1"). Value, 2) End Sub 

Шаг 4: Нажмите F5 или кнопку Run, чтобы запустить этот код и увидеть результат в ячейке A2 вашего рабочего листа.

Пример # 4 - Округление числа с использованием функции округления VBA

Предположим, вы хотите округлить число с помощью VBA. Вы можете сделать это с помощью функции WorksheetFunction.RoundUp.

Шаг 1. Определите новую подпроцедуру в редакторе Visual Basic, которая может хранить ваш макрос.

Код:

 Sub Round_Ex4 () End Sub 

Шаг 2: Определите две переменные, одну для хранения числа, которое вы хотите округлить. И другой, чтобы сохранить результат обзора.

Код:

 Sub Round_Ex4 () Dim numToRound в качестве Double Dim numRoundUp в качестве Double End Sub 

Шаг 3: Сохраните значение в переменную numToRound, которую вы хотите округлить.

Код:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 End Sub 

Шаг 4: Теперь используйте RoundUp, чтобы округлить это число и сохранить результат в переменной numRoundUp.

Код:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Шаг 5: Используйте MsgBox, чтобы показать вывод под окном сообщения.

Код:

 Sub Round_Ex4 () Dim numToRound как двойное Dim numRoundUp как двойное numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Число, округленное до:" & numRoundUp End Sub 

Шаг 6: Нажмите F5 или кнопку Run, чтобы запустить этот код и увидеть результат.

Пример № 5 - округление числа с помощью функции VBA RoundDown

Шаг 1: В новой подпроцедуре определите две новые переменные с именами numToRoundDown и roundDownNum. Один для хранения значения числа, которое будет округлено в меньшую сторону, а другие для сохранения результата после округления в меньшую сторону.

Код:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double End Sub 

Шаг 2: Присвойте значение, которое вы хотите округлить, до переменной с именем «numToRoundDown».

Код:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 End Sub 

Шаг 3: Теперь используйте RoundDown, чтобы округлить это число и сохранить результат в переменной roundDownNum.

Код:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Шаг 4: Используйте функцию MsgBox, чтобы отобразить значение числа, округленного в меньшую сторону.

Код:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Число, округленное в меньшую сторону:" & roundDownNum End Sub 

Шаг 5: Нажмите F5 или кнопку Run, чтобы запустить этот код и увидеть вывод в виде окна сообщения.

Это все в статье. Мы рассмотрели концепции VBA Round, Round Up и Round Down с несколькими примерами.

То, что нужно запомнить

  • Эта функция использует метод округления Банкира для округления чисел, которые несколько отличаются от фактического метода округления.
  • Эта функция используется для округления числа с плавающей запятой или числа с фиксированными десятичными числами до указанного числа мест.
  • Это означает, что функция округляет число вверх или вниз в зависимости от числа после десятичных знаков.
  • Аргумент decimal_places должен быть больше или равен нулю.
  • Если decimal_places оставить пустым, он будет считаться нулем, а затем число будет округлено до ближайшего целого числа.
  • Если значение decimal_places меньше нуля, возникает ошибка времени выполнения 5. «Ошибка времени выполнения« 5 »: неверный вызов процедуры или аргумент».
  • На самом деле невозможно предсказать, к чему эта функция будет округлять значение, когда цифра после десятичной дроби равна 5.
  • Если один или оба аргумента функции Round не числовые, функция вернет ошибку времени выполнения 13. «Ошибка времени выполнения« 13 »: несоответствие типов».

Рекомендуемые статьи

Это было руководство к VBA Round Function. Здесь мы обсудили, как использовать функцию Excel VBA Round вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Полное руководство по VBA при ошибке
  2. Как использовать числовой формат VBA?
  3. VBA VLOOKUP Функция с примерами
  4. Создание функции VBA в Excel

Категория: