Арифметические операторы VBA

Арифметические операторы в VBA. Урок №21

Арифметические операторы в VBA принимают в качестве операндов числовые значения, выполняют с этими числами математические операции, в полном соответствии с правилами арифметики, и возвращают в качестве результата уже одно числовое значение.

В языке программирования VBA есть семь арифметических операторов.

Знаки арифметических операций VBA

Оператор Название Действие
+ Плюс Сложение
- Минус Вычитание
* Звёздочка Умножение
/ Слэш или разделить Деление
\ Обратная косая черта Деление без остатка
^ Циркумфлекс Возведение в степень
mod Получение остатка от деления по модулю

Описывать назначение и применение первых четырёх знаков (+,-,*,/) нет никакого смысла. А вот остальные знаки, мы сейчас рассмотрим. А также обсудим некоторые особенности работы с арифметическими операторами в VBA.

Операция возведения в степень (знак ^) возводит значение первого операнда выражения в степень, равную значению второго операнда.

Например, если мы напишем 3 ^ 2, то это будет читаться как «три во второй степени» и результатом выполнения вычисления будет 9.

Пример кода операции возведения в степень

Sub myCode()
    myExp = 3 ^ 2
    MsgBox (myExp)
End Sub

Операция деления без остатка (знак \) выполняет деление целых чисел, результатом которого всегда будет целое число. Например, при обычном делении 26 на 4, результатом будет 6,5. А если поделить 26 на 4 с использованием оператора деления без остатка, то результатом будет 6. То есть наша программа отбросит остаток и выведет в качестве результата только целое число.

Пример кода операции деления без остатка

Sub myCode()
    myDiv = 26 \ 4
    MsgBox (myDiv)
End Sub

Операция получения остатка от деления по модулю выполняет деление первого операнда на второй (числа с плавающей запятой при этом округляются до целого) и возвращает в качестве результата целочисленный остаток этого деления. Например, остатком от деления 26 на 4 будет 2 потому что 26=6*4+2.

Пример кода операции получения остатка от деления

Sub myCode()
    myDiv = 26 Mod 4
    MsgBox (myDiv)
End Sub

Некоторые особенности арифметических операций в VBA

  1. При использовании в операции сложения данных типа Integer и Long, результату вычисления будет присвоен тип данных Long.
  2. Если в операции вычитания один из операндов имеет тип данных Date, то и результат вычисления будет иметь тип данных Date.
  3. Если в операции вычитания оба операнда имеют тип Date, то результат вычисления будет иметь тип данных Double.
  4. При использовании разных типов данных в операции умножения, результат вычисления будет иметь тип данных, который имеет наибольшую точность и соответствует одному из типов данных сомножителей.
  5. При делении на ноль будет получена ошибка «Run-time error '11' Division by zero» (Деление на ноль).
  6. Если в выражении один из операндов имеет значение Null, то результатом вычисления всего выражения тоже будет Null.

Main Menu