Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекцій ЕКОНОМІЧНА ІНФОРМАТИКА.doc
Скачиваний:
26
Добавлен:
28.10.2018
Размер:
24 Mб
Скачать

2.3. Основні типи даних

В VBA є велика кількість типів даних, основні з яких наведені нижче.

Типи даних:

- integer - цілий тип (від -32768 до 32767);

- single - числовий тип одинарної точності (до 7 значущих цифр);

- double - числовий тип подвійної точності (до 14 значущих цифр);

- long - цілий тип (від -2147483648 до 2147483647);

- date - використовується для введення дати;

- string - строковий тип;

- currency - використовується у фінансових розрахунках;

- boolean - логічний тип (дані цього типу можуть приймати значення: true (істина) або false (неправда);

- object - посилання винятково на об'єкт;

- variant - довільний тип.

2.4. Змінні, масиви, константи і їхній опис

Змінні, масиви, константи й інші об'єкти мають ім'я, що повинно підкорятися наступним правилам:

- символи імені – букви, цифри й знак підкреслення;

- ім'я повинне починатися з букви;

- довжина ім'я не повинно перевищувати 255 символів;

- ім'я повинно бути унікальним усередині області дії.

Опис змінних

Синтаксис опису змінних:

Dim Им’я Змінної As тип, …, Им’я Змінної As тип

Наприклад:

Dim n As Integer, s As Double

Dim k As String

Масиви і їхній опис.

Масив – упорядкована сукупність даних одного типу. Масиви можуть мати одну, дві й більше размірностей (але не більше 60). Наприклад, X=(xi), i=0,1,2,…10 – одновимірний масив з 11 елементів; A=(aij), i=0,1,2,…,5;j=0,1,2,…,6; - двовимірний масив з 67 елементів. Елемент масиву – це змінна з індексами. Індекси в VBA обмежуються круглими дужками й відділяються один від одного комами. Наприклад, xi  x(i); aij  a(i,j).

У найпростішому випадку синтаксис опису масиву фіксованого розміру має вигляд:

Dim им’я Массиву (n1,n2,…,nk) As тип

де n1,n2,…,nk–максимальні значення відповідно 1-го, 2-го, ..., k-го індексів, мінімальне значення індексу вважається рівним 0.

Наприклад, Dim X (19) As String

Dim Y (3,7) As Single

Тут описаний строковий масив Х, що складається з 20 елементів і числовий масив Y, що складається з 4 рядків і 8 стовпців. Щоб нумерація індексів елементів починалася з 1, необхідно на початку модуля ввести команду Option Base 1.

Можна явно вказати початкове й кінцеве значення індексів, наприклад,

Dim b(1 to 3, 1 to 4) As Single

Для динамічного масиву (масиву зі змінними розмірами) синтаксис опису має вигляд:

Dim имя Массиву () As тип

Після визначення розмірів динамічного масиву його потрібно перевизначити з використанням оператора ReDim. Наприклад, одновимірний масив А описується як динамічний: Dim А() As Single, а після визначення n (кількості елементів А ) масив перевизначається:

ReDim(1 to n) As Single

Константи і їхній опис

Константи - це незмінні величини. Cинтаксис опису констант:

Const имя Константи = значення

Напримеp: Const G=9.8

Загальні правила описів

Строго кажучи, в VBA не потрібно описувати більшість змінних перед їхнім застосуванням. У цьому випадку вони називаються неявно описаними, і їм автоматично присвоюється тип Variant. При явному описі змінних на початку модуля повинна бути інструкція Option Explicit (вона з'являється автоматично при відкритті вікна модуля). Інструкція Option Explicit має наступні особливості:

  • якщо неправильно вказати ім'я описаної змінної, то при компіляції видається

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

  • на зберігання даних типу Variant затрачається більше пам'яті і швидкість

їхньої обробки менша.

Якщо користуватися неявним описом, то інструкцію Option Explicit треба вилучити.

Важливим в VBA поняттям є поняття "область визначення змінних". Є три рівні такої області:

  • локальна змінна описується за допомогою оператора Dim, розміщеного в

процедурі;

  • змінна рівня модуля описується за допомогою оператора Dim, розміщеного

в розділі опису модуля;

  • загальна змінна описується за допомогою оператора Public, а не оператора

Dim, у розділі опису модуля.