Глобални променливи на Excel VBA

Обикновено декларираме всяка променлива с помощта на думата DIM и това е най-добрият директен метод за това. Но променливите, декларирани с помощта на DIM, могат да се използват само в един и същ модул. Ако се опитаме да използваме тази променлива, дефинирана с помощта на DIM, тя ще бъде приложима за модула, под който се декларира. Какво става, ако искаме да използваме променлива във всеки модул или проект? Което не може да бъде възможно, ако продължим да използваме DIM за дефиниране на тази променлива?

В този случай имаме вторичен вариант чрез дефиниране на променливата чрез дума Global или Public във VBA. VBA глобални или публични променливи са онези променливи, които се декларират в началото на подкатегорията с помощта на Опция Изрично. Каквито и неща, които не правим или не можем да правим в подкатегории, те се правят преди това под Опция Изрично.

Как да декларирам глобални променливи в VBA?

По-долу са различните примери за деклариране на глобална променлива в Excel с помощта на VBA код.

Можете да изтеглите този шаблон на Excel Global Variables Excel тук - VBA Global Variables Excel шаблон

VBA глобални променливи - пример №1

В този пример ще видим как различните подкатегории могат да бъдат използвани като един модул, без да използваме Global или Public word за определяне на която и да е променлива. За това ще ни трябва модул.

  • Отидете в менюто Вмъкване и щракнете върху Модул, както е показано по-долу.

  • Сега напишете подкатегорията във всяко име, както е показано по-долу.

Код:

 Sub Global_Variable () End Sub 

  • Сега използвайте DIM, за да определите всякакъв вид променлива. Тук сме избрали азбука А като струнна .

Код:

 Sub Global_Variable () Dim A като String End Sub 

  • Сега създайте друга подкатегория в същия модул, както е показано по-долу.

Код:

 Sub Global_Variable () Dim A като String End Sub Sub Global_Variable6 () End Sub 

  • Сега във втората подкатегория дефинирайте друга променлива B, използвайки DIM като String.

Код:

 Sub Global_Variable () Dim A като String End Sub Sub Global_Variable6 () Dim B като String End Sub 

Както е показано по-горе, и двете променливи A и B, дефинирани в двете подкатегории, не могат да бъдат използвани в региона на всеки друг. Те ще бъдат приложими само в тяхната подкатегория.

  • Сега, за да направите тази работа, напишете Опция Изрично над първата подкатегория, както е показано по-долу.

Код:

 Опция Изрично Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Сега можем да определим нашата променлива, която ще бъде използвана и в двете подкатегории, които имаме по-долу. Затова сега помислете дали да напишете каквато и да е променлива A като String с помощта на DIM.

Код:

 Опция Изрично Dim A като String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Тъй като сме дефинирали променливата, всички подкатегории ще бъдат в този модул и това ще бъде приложимо само за целия код на този модул. И ако се опитаме да наречем променливите, дефинирани в този модул, на някакъв друг модул, тогава това би ни допуснало грешката.

VBA глобални променливи - пример №2

В този пример ще видим как да използваме Global или Public дума за дефиниране на която и да е променлива в excel VBA. За това ще използваме кода, който видяхме в пример-1.

Ще използваме по-долу част код за декларация за глобална или публична променлива.

Код:

 Опция Изрично Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Както направихме в пример-1, където сме декларирали общата променлива, която ще бъде използвана и в двете подкатегории, под опцията Изрично. В примера ще декларираме и Глобалната променлива под опцията Изрично.

Тъй като вече имаме готов код, така че можем директно да продължим с деклариране на променливи с помощта на Global . Сега в по-долу Опция Изрично напишете глоба същото, което сме свикнали с DIM и изберете променлива по избор. Тук избираме азбука А, както е показано по-долу.

Код:

 Опция Изрично Global A Sub Global_Variable () Dim A като String End Sub Sub Global_Variable6 () Dim B като String End Sub 

Сега избираме всеки тип променлива да бъде тя. Както вече използвахме String в горния пример, така бихме използвали същото и тук.

Код:

 Опция Изрично Global A като String Sub Global_Variable () Dim A като String End Sub Sub Sub Global_Variable6 () Dim B като String End Sub 

Това завършва нашия глобален процес на деклариране на променливи. Сега можем да използваме това във всеки модул, всеки проект само като String. Преди да го използваме, изтрийте предварително декларираната променлива, тогава кодът ще изглежда както е показано по-долу.

Код:

 Опция Изрично Global A като String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Сега нека присвоим малко текст на дефинираната променлива А в двете подкатегории. Избираме „Test1“ и „Test2“ за променлива A в двете подкатегории, както е показано по-долу. И също така сме избрали MsgBox, за да покажем стойностите, съхранени в променлива А.

Код:

 Опция Изрично Global A като String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Сега стартирайте кода, като натиснете клавиша F5 или като кликнете върху бутона за възпроизвеждане, за да видите резултата.

Ще получим съобщението като "Test1", както е показано по-горе. Това е така, защото бяхме запазили курсора си в първата подкатегория.

Сега поставете курсора навсякъде във втората подкатегория и стартирайте кода отново. Сега ще получим полето със съобщение „Test2“, както е показано по-долу.

Ето как можем да създадем и дефинираме променлива веднъж с помощта на Global и която може да се използва във всеки модул, във всеки клас и във всеки проект. Можем да използваме Public и вместо Global, както е показано по-долу. И това ще даде същия резултат, както ние получихме при използването на Global.

Код:

 Опция Изрично публично A Като String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Плюсове на VBA Global Variable

  • Спестява време при деклариране на множеството променливи, когато знаем, може да се наложи отново да определим един и същ тип променлива в различни модули или подкатегории.
  • Използвайки Global или Public при дефиниране на променлив процес, нашият код става по-малък, спестявайки време и пространства.
  • Той намалява сложността, когато пишем огромния код и може да се обърка при използването на различни променливи в различни модули или подкатегории.

Минуси на VBA глобална променлива

  • Ако направим някакви промени на променливата Global, тогава тези промени ще бъдат внедрени във всички места, където се използва, причинявайки проблем във функционалността на писания код.

Неща, които трябва да запомните

  • Global и Public могат да се използват взаимозаменяемо с една и съща функционалност.
  • Ако не искаме да използваме променлива Global, тогава можем да следваме процеса, както е показано в пример-1 за дефиниране на променливата. Но това ще бъде ограничено до един и същ модул.
  • Глобалните променливи могат да се използват във всеки модул, всяка подкатегория, всеки клас или във всеки проект.
  • Глобална променлива дава изхода на кода, където сме запазили курсора. Той няма да стартира пълния код наведнъж, като дава целия изход един по един.

Препоръчителни статии

Това е ръководство за глобалните променливи на VBA. Тук обсъждаме как да декларираме глобални променливи в Excel, използвайки VBA код, заедно с някои практически примери и свалящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. VBA UserForm
  2. Решете уравнение в Excel
  3. VBA Активиране на лист
  4. Как да редактирате падащия списък в Excel?

Категория: