VBA Опция Изрично | Как да направя декларацията за променлива задължителна?

Опция за Excel VBA Изрично

Декларирането на променливи е много важно във VBA, Option Explicit прави потребителя задължителен да декларира всички променливи, преди да ги използва, всяка недефинирана променлива ще изведе грешка при изпълнение на кода, можем да напишем опцията за ключова дума изрично или да я активираме за всички кодове от опции, като позволяват да се изисква деклариране на променлива.

Във VBA всичко е свързано с променливи. За да съхраняваме данни, се нуждаем от променливи с подходящ тип данни. Можете да ме разпитате защо имате нужда от променлива, когато можете директно да добавите стойността към самата електронна таблица. Това се дължи главно на множеството потребители на работната книга, ако тя се обработва от един човек, тогава можете директно да препратите стойността към самия лист. Чрез деклариране на променливи можем да направим гъвкавия код за съхраняване на данните.

Какво е изрично VBA Option?

Надявам се, че сте срещнали синята линия с надпис „Option Explicit“ в горната част на вашия модул, преди да е стартиран макрос в този модул.

В началото на изучаването на VBA, аз също не разбрах какво е това и за да бъда много откровен, изобщо дори не мислех за това. Не само за мен или за вас, но също така е еднакво за всички в началото. Но сега ще видим важността на тази дума.

„Option Explicit“ е нашият наставник при декларирането на променливата. Чрез добавяне на тази дума превръща декларацията на променливата в задължителен процес.

Можете да изтеглите този шаблон за явен Excel на опция на VBA тук - шаблон на Excel с явен вариант на VBA

За пример вижте кода по-долу за разбиране.

Код:

 Под Пример1 () i = 25 MsgBox i Край Sub 

Ако стартирам този код, ще получим стойността на променлива „I“ в полето за съобщения във VBA.

Сега ще добавя думата „Option Explicit“ в самото начало на кода на VBA.

Сега ще пусна кода и ще видя какво ще стане. Ако тренирате с мен, натиснете клавиша F5, за да стартирате кода.

Получихме грешка при компилацията и там пише „Променливата не е дефинирана“ . Не сме декларирали променливата „i“, но веднага сме й присвоили стойността 25.

Тъй като сме добавили думата „Option Explicit“, тя ни принуждава да декларираме променливата задължително.

В горния код азбуката „i“ е недекларирана, така че добавихме думата на контролера на променливите „Опция Изрично“, която ни пречи да използваме недекларираните променливи.

В момента, в който добавите думата „Option Explicit“ в горната част на модула, е приложимо за всички макроси в този конкретен модул да декларират променливите задължително.

Как да направя декларацията за променлива задължителна?

Ако сте добавили променливата mentor „Option Explicit“ ръчно във вашия модул, когато вмъквате новия модул, няма да получите тази променлива mentor по подразбиране.

Ако мислите, че всеки път, когато трябва ръчно да добавите думата „Option Explicit“ за всички нови модули, тогава грешите.

Тъй като можем да направим тази дума задължителна във всички модули, като направим проста настройка. Следвайте стъпките по-долу, за да коригирате настройките.

Стъпка 1: Отидете в Visual basic editor.

Стъпка 2: Отидете на TOOLS и кликнете върху Options.

Стъпка 3: В момента, в който щракнете върху Опции, ще видите прозореца по-долу.

Стъпка 4: Под този прозорец отидете в редактора и поставете отметка на опцията „Изискване на декларация за променлива“ .

Стъпка 5: Щракнете върху OK, за да затворите прозореца.

Отсега нататък, когато добавяте нов модул, той автоматично вмъква думата „Опция Изрично“ по подразбиране.

Опцията Explicit е вашият спестител

Опцията Explicit ни помага по много начини, още от това да направим декларацията за променлива задължителна, това ще ни помогне до изпълнението. Погледнете кода по-долу.

Код:

 Под Пример2 () Затъмняване на CurrentValue като цяло число CurentValue = 500 MsgBox CurrentValue Край Sub 

В горния код съм декларирал променливата „CurrentValue“ като цяло число. В следващия ред съм му присвоил стойността 500. Ако стартирам този код, трябва да получа 500 като резултат в поле за съобщение. Но вижте какво ще стане.

Той казва „Променливата не е дефинирана“ и подчерта втория ред.

Ако разгледаме внимателно втория ред, има малка правописна грешка. Моето име на променлива е „CurrentValue“, но във втория ред съм пропуснал един правопис, т.е. „r“. Там пише „CurrentValue“ вместо „CurrentValue“. Тъй като направих декларацията на променливата задължителна, като добавих думата „Опция изрично“ в Excel VBA, тя ми подчерта грешката при печата, която направих

Така че, когато коригираме правописа и стартираме кода, ще получим резултата, както следва.

Поздравете новоназначения променлив ментор !!!