Опис типу кожної змінної робить програму надійніше і, крім того, прискорює її роботу, тому що VBA потрібно витрачати час на розпізнавання типу неописаної змінної при кожному зверненні до неї.
Для опису типу даних змінної на рівні модуля або процедури використовується інструкція Dim. Наприклад, така інструкція описує змінну з типом Integer:
Dim N As Integer.
Змінні, описані за допомогою ключового слова Dim на рівні модуля, доступні для всіх процедур в даному модулі. Змінні, описані на рівні процедури, доступні тільки в цій процедурі (див. Приклад на с.61). За замовчуванням строкова або текстова змінна (String) є масивом змінної довжини, який містить символи. Однак текстова змінна може бути визначена і фіксованої довжини. У наступному прикладі оголошується символьний масив розміром в 25 символів: Dim S As String * 25.
Інструкція Dim призначена також для опису об'єктного типу змінних. Далі наводиться опис змінної для нового екземпляра робочого листа: Dim X As New Worksheet.
Якщо при описі об'єктної змінної не використовується ключове слово New, то для використання об'єкта, на який посилається змінна, існуючий об'єкт повинен бути присвоєний змінної за допомогою інструкції Set.
Якщо тип даних або тип об'єкта не заданий, за замовчуванням змінна отримує тип Variant. Для обов'язкового опису всіх змінних треба помістити на початку модуля інструкцію Option Explicit. Використання цієї інструкції корисно при налагодженні програм, тому що вона дозволяє виявити помилки в іменах змінних.
У VBA користувач визначає імена змінних, функцій, процедур, типів, постійних та інших об'єктів. Вводяться користувачем імена повинні відображати суть позначається об'єкта так, щоб робити програму легко читається. У VBA є наступні обмеження на імена:
1. Довжина імені не повинна перевищувати 255 символів.
2. Ім'я не може містити точок, прогалин і наступних символів:%, . #, @, $.
3. Ім'я може містити будь-яку комбінацію букв, цифр і символів, що починається з букви.
4. Імена повинні бути унікальні всередині області, в якій вони визначені.
5. Не слід використовувати імена, що збігаються з ключовими словами VBA, і імена вбудованих функцій і процедур. Імена можна набирати як на нижньому, так і на верхньому регістрі. Комбінування регістрів дозволяє підвищити виразність імен. Наприклад, замість імені процентнаяставка краще ім'я ПроцентнаяСтавка.
Як і в інших мовах програмування, в VBA можна використовувати масиви: Dim B (3,3) As Single; Dim A (12) As Integer.
Масив в програмі визначається поелементно, наприклад:
Константи, на відміну від змінних, не можуть змінювати свої значення. Використання констант робить програми легше читаються і дозволяє простіше вносити виправлення - відпадає необхідність багаторазово виправляти значення по тексту програми, тому що досить ввести нове значення при визначенні константи, наприклад:
Const ПроцентнаяСтавка As Single = 0.2;
У програмах на VBA можна використовувати стандартний набір операцій над даними. Є три основних типи операцій:
1. Математичні, які виконуються над числами, і їх результатом є числа.
2. Відносини, що застосовуються не тільки до чисел, і їх результатом є логічні значення, наприклад x> y
3. Логічні, використовувані в логічних виразах, і їх результатом будуть логічні значення, наприклад Not x And y.
Операції порівняння можуть давати один з двох результатів: «істина» або «брехня». Всі наведені приклади мають значення «істина». Приклади, що мають значення «брехня»: 5 = 6, 7> 8, 6<3, 8>= 9.
Операції порівняння працюють не тільки з числовими, а й з текстовими даними. Приклад: "дом1"<> "Дом2" - істина, а "Дім" <>"Будинок" - брехня. Операція порівняння двох рядкових виразів в VBA позначається знаком Like. тобто [Операнд 1] Like [операнд 2].
Застосовується також операція порівняння двох операндів, які містять посилання на об'єкти, яка позначається знаком Is. тобто [операнд 1] Is [операнд 2].
Найбільш часто використовуваними логічними операціями є:
[Операнд1] And [операнд2] - логічне множення;
[Операнд1] Or [операнд2] - логічне додавання;
[Операнд1] Not [операнд2] - логічне заперечення.
Значення логічних операцій And, Or і Not
Оператор присвоювання привласнює значення виразу змінної, константи або властивості об'єкта і завжди включає знак рівності (=).
[Let] Змінна (або постійна або властивість об'єкта) = Вираз.
Ключове слово Let необов'язково і найчастіше опускається. Оператор присвоєння наказує виконати вираз, заданий в його правій частині, і привласнити результат змінної, ім'я якої зазначено в лівій частині. В результаті, наприклад, дії наступної пари операторів
змінної х буде присвоєно 4.
Для присвоєння змінної посилання на об'єкт застосовується інструкція Set. У наступному прикладі інструкція Set привласнює змінної область діапазон А1: В3: Set Область = Range ( "А1: В3").
У загальному випадку інструкція Set має наступний синтаксис
Розташування символів (Пропуск) + (Знак підкреслення) в кінці рядка забезпечує те, що наступний рядок є продовженням попередньої. При цьому треба пам'ятати, що:
1. Не можна розбивати переносом рядкові константи.
2. Припустимо не більше семи продовжень однієї і тієї ж рядки.
3. Сама рядок не може складатися більш ніж з 1024 символів.
У наступному прикладі перша з конструкцій є розбиттям другий на два рядки:
1) роблять програму легко читається, пояснюючи сенс програмних кодів і алгоритму; 2) призначені для тимчасового вимкнення фрагменти програми при її налагодженні.
- застосування зарезервованого слова Rem замість апострофа.
Dim a As Integer
¢ a - ціла змінна
Dim b As String ¢ b - строкова змінна.