Змінні VBA, типи даних та константи в Excel
⚡ Розумний підсумок
Змінні, типи даних і константи VBA в Excel зберігають і позначають значення, з якими працює програма. На цій сторінці пояснюються правила іменування змінних, неявне та явне оголошення за допомогою Dim, числові та нечислові типи даних, а також оголошення константи за допомогою Const.
Змінні використовуються майже в усіх комп’ютерних програмах, і VBA нічим не відрізняється. Хорошою практикою є оголошення змінної на початку процедури. Це не обов’язково, але допомагає визначити характер вмісту (текст, дані, числа тощо)
Змінні VBA
Змінні — це конкретні значення, які зберігаються в пам’яті комп’ютера чи системі зберігання. Later, ви можете використати це значення в коді та виконати. Комп’ютер отримає це значення із системи та відобразить у виводі. Кожному типу змінних Excel VBA необхідно присвоїти ім’я.
Щоб назвати змінну у VBA, потрібно дотримуватися таких правил.
- Він має містити менше 255 символів
- Інтервали не допускаються
- Він не повинен починатися з числа
- Період не дозволяється
Ось кілька прикладів дійсних і недійсних імен для змінних у VBA.
| Мій годинник | Мій годинник |
| NewCar1 | 1_NewCar (не починається з номера) |
| EmployeeID | ID працівника (пробіл не допускається) |
In VBA, нам потрібно оголосити змінні перед їх використанням, призначивши імена та тип даних.
У VBA змінні оголошуються неявно або явно.
- Неявно: Нижче наведено приклад змінної, оголошеної неявно.
- label=guru99
- обсяг=4
- Явно: Нижче наведено приклад змінної, оголошеної явно. У синтаксисі можна використовувати ключове слово «Dim».
- Dim Число як ціле число
- Dim пароль як рядок
Змінна VBA нічим не відрізняється від інших мов програмування. Щоб оголосити змінну у VBA, ви використовуєте ключове слово «Тьмяний».
Синтаксис для змінної VBA,
Щоб оголосити змінну у VBA, введіть Dim, а потім ім’я:
Sub Exercise () Dim <name> End Sub
Перш ніж виконувати змінні, ми повинні записати a макрос в Excel. Щоб записати макрос, виконайте наступне:
Крок 1): Запишіть макрос 1
Крок 2) : зупинити макрос 1
Крок 3): Відкрийте редактор макросів, введіть код для змінної в макрос1
Крок 4): Виконайте код для макросу 1
Приклад, для змінної VBA
Sub Macro1() Dim Num As Integer Num = 99 MsgBox " Guru " & Num End Sub
Коли ви запустите цей код, ви отримаєте наступний результат на своєму аркуші.
Типи даних Excel VBA
Комп’ютер не може розрізнити числа (1,2,3..) і рядки (a,b,c,..). Щоб зробити цю диференціацію, ми використовуємо типи даних.
Типи даних VBA можна розділити на два типи
- Числові типи даних
| тип | зберігання | Діапазон цінностей |
|---|---|---|
| Байт | Байт 1 | 0 до 255, |
| Ціле число | 2 байт | -32,768 в 32,767 |
| Довго | 4 байт | -2,147,483,648 в 2,147,483,648 |
| Single | 4 байт | Від -3.402823E+38 до -1.401298E-45 для від’ємних значень 1.401298E-45 до 3.402823E+38 для додатних значень. |
| Double | 8 байт | від -1.79769313486232e+308 до -4.94065645841247E-324 для від'ємних значень 4.94065645841247E-324 до 1.79769313486232e+308 для додатних значень. |
| Валюта | 8 байт | -922,337,203,685,477.5808 в 922,337,203,685,477.5807 |
| Десятковий | 12 байт | +/- 79,228,162,514,264,337,593,543,950,335, якщо не використовується десятковий знак +/- 7.9228162514264337593543950335 (28 знаків після коми) |
- Нечислові типи даних
| Тип даних | Використані байти | Діапазон цінностей |
|---|---|---|
| Рядок (фіксована довжина) | Довжина рядка | Від 1 до 65,400 символів |
| Рядок (змінна довжина) | Довжина + 10 байт | Від 0 до 2 мільярдів символів |
| Boolean | 2 байт | Правда чи брехня |
| Дата | 8 байт | 1 січня 100 року до 31 грудня 9999 року |
| Об'єкт | 4 байт | Будь-який вбудований об'єкт |
| Варіант (числовий) | 16 байт | Будь-яке значення, велике як Double |
| Варіант(текст) | Довжина +22 байти | Те саме, що рядок змінної довжини |
У VBA, якщо тип даних не вказано, він автоматично оголосить змінну як варіант.
Давайте подивимося приклад того, як оголошувати змінні у VBA. У цьому прикладі ми оголосимо три типи змінних: рядок, дата приєднання та валюта.
Крок 1) Наприклад, у попередньому посібнику ми вставимо commandButton1 у наш Аркуш Excel.
Крок 2) На наступному кроці клацніть правою кнопкою миші на кнопці та виберіть Переглянути код. Відкриється вікно коду, як показано нижче.
Крок 3) На цьому етапі
- Збережіть файл, натиснувши кнопку зберегти
- Потім натисніть значок Excel
у тому ж вікні, щоб повернути аркуш Excel.
- Ви бачите, що режим дизайну «увімкнено» виділено зеленим кольором
Крок 4) Вимкніть режим проектування, перш ніж натиснути кнопку команди
Крок 5) Після вимкнення режиму дизайну ви клацнете на commandButton1. Він покаже наступну змінну як результат для діапазону, який ми оголосили в коді.
- ІМ'Я
- Дата приєднання
- Дохід у валюті
Константа у VBA
Константа схожа на змінну, але ви не можете її змінити. Щоб оголосити константи VBA, ви можете використовувати ключове слово Const.
Існує два типи констант,
- Вбудований або вбудований, наданий програмою.
- Символічний або визначений користувачем
Ви можете вказати область як приватний за замовчуванням або громадськість. Наприклад,
Публічна конст. DaysInYear=365
Приватні робочі дні=250
Завантажте Excel із кодом вище
Завантажте вищевказаний Excel Code
Змінна область видимості та явний параметр
Місце оголошення змінної визначає, де її можна використовувати, а один невеликий параметр у верхній частині модуля запобігає більшості помилок.ping помилки. Розуміння обох забезпечує надійність програми, що розвивається.
| ключове слово | Сфера | Тривалість Життя |
|---|---|---|
| Dim (всередині Sub) | Тільки процедура, в якій вона оголошена | Скидати щоразу, коли процедура виконується |
| Статичний | Тільки процедура, але цінність зберігається | Запам'ятовується між дзвінками |
| Приватний (у верхній частині модуля) | Кожна процедура в цьому модулі | Діє, поки робоча книга відкрита |
| Публічний (у верхній частині модуля) | Кожен модуль у проєкті | Діє, поки робоча книга відкрита |
💡 Порада: тип Варіант явний як перший рядок кожного модуля. Це змушує кожну змінну оголошувати з Dim, тому неправильно написане ім'я перехоплюється під час компіляції, замість того, щоб непомітно створювати новий порожній Variant.







