Арифметичні оператори в 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
- При використанні в операції додавання даних типу Integer і Long, результату обчислення буде надано тип даних Long.
- Якщо в операції віднімання один із операндів має тип даних Date, то результат обчислення також матиме тип даних Date.
- Якщо в операції віднімання обидва операнди мають тип Date, то результат обчислення матиме тип даних Double.
- При використанні різних типів даних в операції множення результат обчислення матиме тип даних, який має найбільшу точність і відповідає одному з типів даних співмножників.
- При діленні на нуль буде отримано помилку «Run-time error '11' Division by zero» (Ділення на нуль).
- Якщо у виразі один із операндів має значення Null, то результатом обчислення всього виразу теж буде Null.
