Оператори VBA та вбудовані функції

Інструкції Excel VBA

Під час написання коду VBA в Excel на кожному кроці використовується набір вбудованих операторів. Ці оператори поділяються на математичні, рядкові, порівняння та логічні оператори. Далі ми детально розглянемо кожну групу операторів.

Математичні оператори

Основні математичні оператори VBA наведено в таблиці нижче.

Правий стовпець таблиці показує пріоритет оператора за замовчуванням без круглих дужок. Додаючи дужки до виразу, ви можете змінити порядок виконання операторів VBA на свій розсуд.

Оператордіюпріоритет

(1 – найвищий; 5 – найнижчий)

^оператор піднесення до степеня1
*оператор множення2
/оператор ділення2
Ділення без залишку – повертає результат ділення двох чисел без залишку. Наприклад, 74 поверне результат 13
мужністьОператор модуля (залишок) – повертає залишок після ділення двох чисел. Наприклад, 8 проти 3 поверне результат 2.4
+Оператор додавання5
-оператор віднімання5

Рядкові оператори

Основним рядковим оператором у Excel VBA є оператор конкатенації & (злити):

Оператордію
&оператор конкатенації. Наприклад, вираз «А» і «Б» поверне результат AB.

Оператори порівняння

Оператори порівняння використовуються для порівняння двох чисел або рядків і повернення логічного значення типу Boolean (Правда чи брехня). Основні оператори порівняння Excel VBA наведено в цій таблиці:

Оператордію
=Однаково
<>Не рівні
<менше
>Більше
<=Менше або дорівнює
>=Більше або дорівнює

Логічні оператори

Логічні оператори, як і оператори порівняння, повертають логічне значення типу Boolean (Правда чи брехня). Основні логічні оператори Excel VBA перераховані в таблиці нижче:

Оператордію
іоперація кон'юнкції, логічний оператор И. Наприклад, вираз А і Б повернеться Правда, Якщо A и B обидва рівні Правда, інакше повернути Помилковий.
OrОперація диз'юнкції, логічний оператор OR. Наприклад, вираз А або Б повернеться Правда, Якщо A or B рівні Правда, і повернеться Помилковий, Якщо A и B обидва рівні Помилковий.
Чи неОперація заперечення, логічний оператор НЕ. Наприклад, вираз Не А повернеться Правда, Якщо A однаково Помилковий, або повернутися Помилковий, Якщо A однаково Правда.

У таблиці вище перелічено не всі логічні оператори, доступні у VBA. Повний список логічних операторів можна знайти в Центрі розробників Visual Basic.

Вбудовані функції

У VBA є багато вбудованих функцій, які можна використовувати під час написання коду. Нижче наведено деякі з найбільш часто використовуваних:

функціядію
AbsПовертає абсолютне значення вказаного числа.

приклад:

  • Абс(-20) повертає значення 20;
  • Абс(20) повертає значення 20.
ChrПовертає символ ANSI, що відповідає числовому значенню параметра.

приклад:

  • Chr(10) повертає розрив рядка;
  • Chr(97) повертає символ a.
ДатаПовертає поточну системну дату.
DateAddДодає вказаний інтервал часу до вказаної дати. Синтаксис функції:

DateAdd(интервал, число, дата)

Де аргумент інтервал визначає тип інтервалу часу, доданого до заданого дата у розмірі, зазначеному в аргументі номер.

аргументація інтервал може приймати одне з наступних значень:

Інтервалзначення
ггггрік
qквартал
mмісяць
yдень року
dдень
wдень тижня
wwweek
hгодину
nхвилин
sдругий

приклад:

  • DateAdd(«d», 32, «01») додає 32 дні до дати 01/01/2015 і повертає дату 02/02/2015.
  • DateAdd(«ww», 36, «01») додає 36 тижнів до дати 01 і повертає дату 01.
DateDiffОбчислює кількість заданих інтервалів часу між двома заданими датами.

приклад:

  • DateDiff(«d», «01/01/2015», «02/02/2015») обчислює кількість днів між 01 і 01, повертає 2015.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») обчислює кількість тижнів між 01/01/2015 та 03/03/2016, повертає 61.
деньПовертає ціле число, що відповідає дню місяця у заданій даті.

приклад: День(«29») повертає число 29.

годинуПовертає ціле число, що відповідає кількості годин у заданий час.

приклад: Година («22:45:00») повертає число 22.

InStrВін приймає ціле число та два рядки як аргументи. Повертає позицію входження другого рядка в першу, починаючи пошук із позиції, заданої цілим числом.

приклад:

  • InStr(1, «Ось слово для пошуку», «слово») повертає число 13.
  • InStr(14, «Ось слово пошуку, а ось інше слово пошуку», «слово») повертає число 38.

Примітка: Числовий аргумент може бути не вказаний, у цьому випадку пошук починається з першого символу рядка, зазначеного в другому аргументі функції.

IntПовертає цілу частину вказаного числа.

приклад: Інт(5.79) повертає результат 5.

IsdateПовернення Правдаякщо вказане значення є датою, або Помилковий – якщо дата ні.

приклад:

  • IsDate(«01») Умови повернення Правда;
  • IsDate(100) Умови повернення Помилковий.
IsErrorПовернення Правдаякщо дане значення є помилкою, або Помилковий – якщо це не помилка.
ВідсутняІм'я необов'язкового аргументу процедури передається як аргумент функції. Відсутня Умови повернення Правдаякщо для відповідного аргументу процедури не було передано значення.
IsNumericПовернення Правдаякщо дане значення можна розглядати як число, інакше повертає Помилковий.
ЛівеПовертає вказану кількість символів від початку даного рядка. Синтаксис функції такий:

Left(строка, длина)

де лінія є вихідним рядком, і це кількість символів, які потрібно повернути, рахуючи від початку рядка.

приклад:

  • Ліворуч (“abvgdejziklmn”, 4) повертає рядок “abcg”;
  • Ліворуч (“abvgdejziklmn”, 1) повертає рядок «a».
ЛенаПовертає кількість символів у рядку.

приклад: Len ("abcdej") повертає число 7.

місяцьПовертає ціле число, що відповідає місяцю заданої дати.

приклад: Місяць(«29») повертає значення 1.

В серединіПовертає вказану кількість символів із середини заданого рядка. Синтаксис функції:

Середній(лінія, старт, )

де лінія є вихідним рядком старт – позиція початку рядка, що вилучається, це кількість символів, які потрібно витягти.

приклад:

  • Середина ("abvgdejziklmn", 4, 5) повертає рядок «де»;
  • Середина ("abvgdejziklmn", 10, 2) повертає рядок «cl».
ХвилинаПовертає ціле число, що відповідає кількості хвилин у заданий час. приклад: Хвилина(«22:45:15») повертає значення 45.
заразПовертає поточну системну дату й час.
правийПовертає вказану кількість символів із кінця заданого рядка. Синтаксис функції:

правильно(лінія, )

де лінія є вихідним рядком, і це кількість символів, які потрібно витягнути, рахуючи від кінця даного рядка.

приклад:

  • Справа («abvgdezhziklmn», 4) повертає рядок “clmn”;
  • Справа («abvgdezhziklmn», 1) повертає рядок «n».
другийПовертає ціле число, що відповідає кількості секунд за заданий час.

приклад: Другий («22:45:15») повертає значення 15.

плПовертає квадратний корінь із числового значення, переданого в аргументі.

приклад:

  • Sqr(4) повертає значення 2;
  • Sqr(16) повертає значення 4.
TimeПовертає поточний системний час.
UboundПовертає верхній індекс вказаного розміру масиву.

Примітка: Для багатовимірних масивів необов’язковим аргументом може бути індекс виміру, який потрібно повернути. Якщо не вказано, за умовчанням дорівнює 1.

рікПовертає ціле число, що відповідає року вказаної дати. приклад: Рік(«29») повертає значення 2015.

Цей список містить лише вибірку найпоширеніших вбудованих функцій Excel Visual Basic. Вичерпний список функцій VBA, доступних для використання в макросах Excel, можна знайти в Центрі розробників Visual Basic.

залишити коментар