Процедури та функції дзвінків у VBA

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

[privatepublic]static]sub ім'я ([список_аргументів])

Sub - основне ключове слово процедури (видіння за ним - тіло процедури)

Public – оголошена константа доступна для будь-якої процедури

Private – для процедур усередині модуля

Static – локальні змінні зберігаються у проміжках часу між викликами цієї процедури

Процедура-функція повертає єдине значення. Процедура підпрограми виконує дії, але не повертає значення.

Оператори в VBA

Стандартні логічні операції (>, =, )

OR – логічне АБО

AND – логічне І

Not – логічне заперечення

Let – оператор присвоєння позначається знаком =

Оператор умовного переходу IF передає керування ходом виконання програми залежно від істинності певної умови

Оператор вибору однієї з кількох альтернатив Select Case

Оператори організації циклічних процесів призначені до виконання послідовності операторів циклу (for… Next,for Each… Next, While… Wend, Do… Loop.)

Оператори циклу з параметром for… Next виконує оператори тіла циклу задану кількість разів.

Цикл з невідомим числом повторень While… wend використовується виконання операторів у тілі циклу до того часу, поки умова зберігає значення «істина».

Використання функцій у VBA

Математичні та логічні функції та оператори

ФункціяОпис
SQR(x)Повертає квадратний корінь числа
X^nПовертає значення числа у ступені n
Sin(x)Повертає синус кута в радіанах
Cos(x)Повертає косинус кута в радіанах
Abs(x)Повертає модуль числа
Tan(x)Повертає тангенс кута в радіанах
Atn(x)Повертає арктангенс кута в радіанах
Exp(x)Повертає значення числа е у ступені х
Log(x)Повертає натуральний логарифм числа

Для цілих чисел використовують оператор MOD. Він повертає залишок при цілому розподілі двох чисел (значення за модулем).

Результат = число1 Mod число2

Стандартні логічні операції (>, =, )

Оператор OR. Виконує операцію логічного АБО (складання) для двох виразів. Синтаксис: результат = вираз1 Or вираз2

Оператор AND. Повертає результат кон'юнкції (логічного І) для двох виразів. Синтаксис: результат = вираз1 And вираз2

Оператор Not. Виконує над виразом операцію логічного заперечення. Синтаксис: результат = Not вираз

46 Область визначення змінних та констант у VBA

Пояснимо значення ключових слів:

Public- оголошена константа доступна для будь-якої процедури з усіх модулів бази даних;

Private -оголошена константа доступна для процедур тільки всередині свого модуля;

Const Max = 100000

Public Const strVolume = Maximum

Private Const Max AS Integer = 100 000

Private Const PI AS Double=3.14159

Значення змінної змінюється у виконання програми. Якщо змінна доступна для багатьох програм, то якась програма може змінити значення змінної; щоб уникнути цього, обмежуютьдоступ до змінних. Для цього користувач-програміст визначає, які процедури матимуть доступ до змінної, визначає область дії (область видимості) змінної.

При спробі змінити значення константи у процедурі VBA ви отримаєте помилку.

Угода щодо синтаксису в VBA, щодо ідентифікації

Угода про ідентифікацію. Для посилання на об'єкти в програмі застосовуються ідентифікатори (імена). Ім'я змінної у програмі є ім'ям поля пам'яті, де зберігається інформація. Ідентифікатор можна порівняти з етикеткою скриньки для зберігання даних. Бажано, щоб ім'я змінної вказувало змістовний зміст величин.

Правила присвоєння змінним іменам:

  • довжина імені не може перевищувати 255 символів;
  • першим символом у імені змінної має бути буква;
  • в імені можна використовувати великі або малі літери, числа та знак підкреслення;
  • заборонені ключові слова (імена функцій та операторів VBA) та символи @, $, #, &,%,!.

Ім'я об'єкта може починатися зпрефікса типу даних(три латинські літери) об'єкта, що оголошується. Наприклад: intСтипендія (int - ціле число), strProzvisca (str - символьне число), bitПеревірка (bit - логічний тип).

Інструкція Const у VBA

Описує константи, що використовуються замість констант у явному уявленні (літералів).

[Public Private] Const ім'яКонстанти [As тип] = вираз

ПараметриPublic- Необов'язковий. Ключове слово, яке використовується на рівні модуля для опису констант, доступних усім процедурам у всіх модулях. Не допускається у процедурах.Private- Необов'язковий. Ключове слово, що використовується на рівні модуля для опису констант, доступних тільки всередині модуля,якому виконується опис. Не допускається у процедурах.

ім'яКонстанти - Обов'язковий. Ім'я константи, що відповідає стандартним правилам іменування змінних.тип- Необов'язковий. Один з підтримуваних типів даних: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (нині не підтримується), Date, String або Variant. Для кожної описуваної константи слід використовувати окрему пропозиціюAs тип.вираз- Обов'язковий. Літерал, інша константа або будь-яке поєднання, яке включає всі арифметичні або логічні оператори, за виняткомIs.

Примітки Константи за промовчанням є особистими. Усередині процедури константи завжди є особистими; їхня видимість не може бути змінена. У стандартних модулях видимість, яку за умовчанням мають константи лише на рівні модуля, можна змінити з допомогою ключового словаPublic. У модулях класу, однак, константи можуть бути лише особистими, і їхня видимість не може бути змінена за допомогою ключового словаPublic. Є можливість об'єднувати кілька описів констант на одному рядку, розділяючи інструкцію присвоєння кожної константи за допомогою коми. Якщо описи констант об'єднуються таким чином, використовуване ключове словоPublic абоPrivate застосовується до всіх константів на рядку. Не дозволяється використання змінних, що визначаються користувачем функцій або внутрішніх функцій мовиVisual Basic (типуChr ) у виразах, що надаються константам. Константи допомагають зробити програми самодокументованими та легко доступними для виправлень. На відміну від змінних константи що неспроможні непередбачуваним чином змінюватися під час виконання програми. Якщо тип константи не задається явнимчином (за допомогою пропозиціїAs тип), константа набуває тип, найбільш відповідний заданому виразу. Константи, описані в процедурахSub,Function абоProperty є локальними для цих процедур. Області визначення константи, описаної поза процедурою, є модуль, в якому вона описана. У будь-якому місці, в якому можливе використання виразів, допускається використання та констант.

Приклад У цьому прикладі інструкціяConst використовується для опису констант, що використовуються замість текстових значень. Загальні (Public ) константи розміщуються у загальному розділі стандартного модуля, але з модуля класу. Особисті (Private ) константи можуть бути описані у загальному розділі модуля будь-якого типу.

' За замовчуванням константи є особистими (Private). Const MyVar = 459 ' Оголошує загальну (Public) константу. кілька констант в одному рядку. Const MyStr = "Привіт", MyDouble As Double = 3.4567

Масиви в VBA. Основні поняття

Оголошення масиву – це завдання імені масиву, і навіть визначення типу та кількості його елементів. З елементами масиву можна працювати як і при використанні звичайної змінної. Масиви може бути як числовими і символьними.

Dim ( ) AS

Dim mass(23) AS Integer - одномірний масив

Dim MASS(5 TO 8) AS Integer – двовимірний масив