Опція VBA Явна | Як зробити декларацію змінною обов’язковою?

Параметр Excel VBA Явний

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

У VBA все стосується змінних. Для того, щоб зберігати дані, нам потрібні змінні з відповідним типом даних. Ви можете запитати мене, навіщо потрібна змінна, коли ви можете безпосередньо додати значення до самої електронної таблиці. Це пов’язано, головним чином, із кількома користувачами книги, якщо обробляється одна особа, тоді ви можете безпосередньо посилатись на значення на сам аркуш. Оголошуючи змінні, ми можемо зробити гнучкий код для зберігання даних.

Що є явним варіантом VBA?

Сподіваюся, ви натрапили на синє слово "Option Explicit" у верхній частині вашого модуля, перш ніж будь-який макрос запускався в цьому модулі.

На початку вивчення VBA я теж не розумів, що це таке, і, якщо бути відвертим, я взагалі навіть не думав про це. Не тільки для мене чи для вас, але це також однаково для всіх на початку. Але ми побачимо важливість цього слова зараз.

“Option Explicit” - це наш наставник у оголошенні змінної. Додаючи це слово, це робить оголошення змінної обов'язковим процесом.

Ви можете завантажити цей шаблон явного варіанту VBA тут - Явний шаблон Excel VBA Option

Для прикладу подивіться на наведений нижче код для розуміння.

Код:

 Суб Приклад1 () i = 25 MsgBox i Кінець Суб 

Якщо я запустити цей код, ми отримаємо значення змінної "I" у вікні повідомлення у VBA.

Тепер я додаю слово "Option Explicit" на самому початку коду VBA.

Зараз я запущу код і подивлюся, що станеться. Якщо ви займаєтеся зі мною, натисніть клавішу F5, щоб запустити код.

Ми отримали помилку компіляції, і там написано “Змінна не визначена” . Ми не оголосили змінну "i", але відразу ми призначили їй значення як 25.

Оскільки ми додали слово "Option Explicit", це змушує нас оголошувати змінну в обов'язковому порядку.

У наведеному вище коді алфавіт «i» не оголошений, тому ми додали слово контролера змінних «Option Explicit», яке заважає нам використовувати незадекларовані змінні.

У той момент, коли ви додаєте слово “Option Explicit” у верхній частині модуля, це застосовується до всіх макросів у цьому конкретному модулі, щоб оголосити змінні в обов’язковому порядку.

Як зробити декларацію змінних обов’язковою?

Якщо ви додали змінну mentor “Option Explicit” вручну у свій модуль, коли ви вставляєте новий модуль, ви не отримаєте цю змінну mentor за замовчуванням.

Якщо ви думаєте щоразу, коли вам потрібно додати слово «Option Explicit» для всіх нових модулів вручну, ви помиляєтесь.

Оскільки ми можемо зробити це слово обов’язковим для всіх модулів, виконавши просту настройку. Виконайте наведені нижче дії, щоб налаштувати параметри.

Крок 1: Перейдіть до редактора Visual basic.

Крок 2: Перейдіть до TOOLS та натисніть Параметри.

Крок 3: Як тільки ви натиснете на Параметри, ви побачите вікно нижче.

Крок 4: У цьому вікні перейдіть до редактора та встановіть прапорець біля пункту «Вимагати декларацію змінної» .

Крок 5: Натисніть OK, щоб закрити вікно.

Відтепер, коли ви додаєте новий модуль, він за замовчуванням автоматично вставляє слово «Опція явна».

Явний варіант - це ваша заставка

Опціональний явний допомагає нам багатьма способами, навіть якщо зробити декларацію змінною обов’язковою, це допоможе нам до виконання. Подивіться на код нижче.

Код:

 Підприклад 2 () Затемнити значення поточного значення як ціле значення поточного значення = 500 MsgBox CurrentValue End Sub 

У наведеному вище коді я оголосив змінну “CurrentValue” як ціле число. У наступному рядку я призначив йому значення 500. Якщо я запустив цей код, я мав би отримати 500 як результат у вікні повідомлення. Але подивіться, що станеться.

Там написано “Змінна не визначена” та виділено другий рядок.

Якщо ми уважно розглянемо другий рядок, то є невелика орфографічна помилка. Моє ім’я змінної - “CurrentValue”, але у другому рядку я пропустив одне написання, тобто “r”. Там написано “CurrentValue” замість “CurrentValue”. Оскільки я зробив декларацію змінної обов’язковою, додавши слово “Option Explicit” у excel VBA, це виділило мені помилку друкарської помилки, яку я зробив.

Отже, коли ми виправляємо орфографію і запускаємо код, ми отримаємо результат наступним чином.

Привітайтеся з новопризначеним наставником змінних !!!