Змінні VBA

Змінні в VBA. Урок №12

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

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

Уявіть, що ви повісили на ящик ярлик (дали йому ім'я) «Іграшки» і поклали в нього плюшевого ведмедика. Виходить, що ви створили змінну – Іграшки. Значення змінної Іграшки буде – плюшевий ведмедик. У будь-який момент ви може дістати цього ведмедика з ящика, звернувшись до нього по імені «Іграшки» і покласти в ящик вже не ведмедика, а наприклад, зайчика. І тоді у вас буде змінна Іграшки зі значенням – зайчик.

Змінні в VBA

Як ви вже зрозуміли, перш ніж починати роботу зі змінною, її потрібно оголосити.

Оголошення змінних в VBA

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

  1. Ім'я змінної має бути унікальним (дві різні змінні не можуть мати одне й те саме ім'я).
  2. Максимальна довжина імені змінної не може перевищувати 255 символів.
  3. Першим символом в імені змінної повинна бути буква, після якої допускається використання цифр, або знака підкреслення «_».
  4. Не можна використовувати пробіл, крапку, знак оклику, а також символи @, #, $, %, &.
  5. Не можна використовувати зарезервовані (ключові) слова (слова, які підсвічуються синім кольором в режимі редактора коду).

При присвоєння імені змінної можна використовувати як рядкові, так і прописні букви в будь-якому поєднанні. наприклад, MySum і mysum компілятор VBA сприйме як одне й те саме ім'я. Якщо ви перший раз написали ім'я змінної MySum (перше входження), а другий раз написали mysum (друге входження), то редактор VBA автоматично виправить mysum на MySum.

Перш ніж використовувати змінну, її рекомендується оголосити. Тобто потрібно вказати компілятору, що потрібно створити змінну з такою назвою, в якій будуть зберігатися дані певного типу.

Якщо створити змінну без її попереднього оголошення, то вона буде мати тип Variant. У VBA цей тип змінної присвоюється за замовчуванням.

Якщо змінну створюють (використовують в операторі) без попереднього оголошення, то в такому випадку говорять, що змінна оголошена, не відкрито.

Щоб явно оголосити змінну використовують оператор Dim. Наприклад, оголосити змінну в VBA можна так:

Dim MyAge As Integer

У цьому рядку, MyAge – це ім'я змінної, а Integer – це присвоєний їй тип даних (Ціле число).

В одному рядку можна оголосити і кілька змінних. Робиться це через кому ось так:

Dim MyAge1 As Integer, MyAge2 As Integer, MyName As String

Зверніть увагу, що при оголошенні змінних в одному рядку, оператор Dim вказується один раз, а тип даних вказується для кожної змінної окремо.

Крім того, в одному операторі Dim дозволяється змішувати оголошення змінних різних типів: Intager, String, Date, Boolean і т.д.

Область видимості змінних в VBA

Змінну можна неодноразово використовувати тільки в тій частині програми, де вона доступна. У VBA передбачено 4 ключових слова для визначення області видимості змінних:

  1. Dim – використовується найбільш часто при оголошенні змінних в VBA. Якщо змінна оголошена як Dim в області оголошень модуля, то вона буде доступна для всіх процедур в цьому модулі, якщо в процедурі – то така змінна буде доступна тільки на час роботи цієї процедури.
  2. Private – при оголошенні змінних в стандартних модулях VBA працює точно так само, як і Dim.
  3. Public – така змінна буде доступна всім процедурам у всіх модулях даного проекту, якщо ви оголосили її в області оголошень модуля. Якщо ви оголосили її всередині процедури, вона буде вести себе як Dim.
  4. Static – такі змінні можна використовувати тільки всередині процедури. Їх видно тільки в тій процедурі, в якій вони оголошені. Змінні, оголошені з оператором Static, зберігають свої значення до тих пір, поки виконується код.

Якщо немає ніяких особливих вимог, то при оголошенні змінних в VBA найкраще обирати область видимості Dim.

Як присвоювати імена об'єктам в VBA правильно?

При створенні VBA програм, присвоювати імена об'єктам рекомендується за такими правилами:

  1. Ім'я змінної має починатися з префікса, записаного малими літерами. Префікс вказує, що саме буде зберігатися в цій змінній:
    • str (або s) – String, символьне значення;
    • fn (або f) – функція;
    • sub – процедура;
    • c (або всі букви імені заголовні) – константа;
    • b – Boolean, логічне значення (True або False);
    • d – дата;
    • obj (або o) – посилання на об'єкт;
    • n – числове значення;
  2. Імена функцій, методів і кожне слово в складеному слові має починатися з великої літери (Например, MsgBox ActiveDocument.Name).
  3. Константи прийнято записувати великими літерами, а між словами ставити символ підкреслення, наприклад COMPANY_NAME.

Main Menu