Variabile globale VBA - Cum se declară variabila globală în VBA?

Unele funcții sunt definite în interiorul unei funcții și sunt utilizate în cadrul funcțiilor, iar unele variabile sunt definite în afara funcțiilor și sunt utilizate de toate funcțiile și astfel de variabile sunt utilizate ca variabile globale, de exemplu, variabilele declarate în subfuncție sunt cunoscute sub numele de Global Variables.

Variabilă globală în Excel VBA

Declararea unei variabile pare destul de simplă, dar pentru a avea bune practici, trebuie să înțelegem sfera acelor variabile. Adesea declarăm de fiecare dată variabilele pentru fiecare macro din cadrul subprocedurii. Dar declarând o variabilă, o putem folosi în toate macrocomenzile din același modul și în celelalte module ale proiectului VBA curent. În acest articol, vă vom arăta cum să declarați variabile globale în Excel VBA.

Ce sunt variabilele globale în Excel VBA?

Variabilele globale VBA sunt variabile declarate înainte de începerea oricărei macrocomenzi din modul. Când variabilele sunt declarate folosind fie „Public”, fie „Global”, aceasta devine „Variabilă globală”.

Variabilele de procedură secundară nu pot fi utilizate oriunde.

De obicei declarăm variabila din subrutină în VBA folosind cuvântul „Dim”.

Uită-te la imaginea de mai sus. Am declarat variabila „k” ca număr întreg în cadrul subprocedurii Global_Example1.

Să presupunem că folosim această variabilă în cadrul acestei proceduri Sub în orice moment. Cu toate acestea, nu pot folosi această variabilă în altă procedură secundară, nici în același modul de clasă din VBA, nici în alt modul.

Așa cum se arată în imaginea de mai sus, variabila „k”, declarată în subprocedură Global_Example1, nu poate fi utilizată în procedura secundară Global_Example2.

În mod similar, variabila „j” declarată în subprocedură Global_Example2 nu poate fi utilizată în procedura secundară Global_Example1 chiar dacă ambele subproceduri se află în același modul.

Cum se declară variabila globală în VBA?

Următoarele sunt modalitățile de declarare a unei variabile globale în Excel VBA.

# 1 - Variabilele modulului pot fi utilizate în orice procedură secundară din același modul

După cum am văzut, nu putem utiliza variabilele de subprocedură în niciunul dintre module. Pentru a le face disponibile pentru toată procedura Sub din același modul, trebuie să declarăm variabilele din partea de sus a modulului.

În imaginea de mai sus, am declarat variabila doar la începutul modulului. Am exprimat variabila „Numărul meu” ca întreg în modulul 1 .

Odată ce variabila este declarată în partea de sus a modulului, putem folosi aceeași variabilă pentru toate celelalte proceduri secundare din același modul. În acest caz, putem folosi variabila „Numărul meu” pentru toate procedurile secundare din modulul 1.

Problema este că nu le putem folosi în niciunul dintre celelalte module. În acest caz, variabila „Numărul meu”, declarată în modulul 1, nu poate fi utilizată în modulul 2.

# 2 - Variabilele globale pot fi utilizate în orice procedură secundară și, de asemenea, în orice modul

Acum am văzut două tipuri de declarații variabile și sfera acestora în timpul utilizării. Lucrul interesant este că putem declara variabila în oricare dintre module și o putem folosi pentru toate procedurile Sub din toate modulele aceluiași proiect VBA.

Pentru a face variabila disponibilă pentru toate procedurile secundare din toate modulele, trebuie să declarăm variabila din partea de sus a modulului nu folosind cuvântul „Dim” ci folosind numele „Public” sau „Global”.

În imaginea de mai sus, puteți vedea că am folosit cuvântul „Public” pentru a declara variabila în locul cuvântului nostru veteran „Dim”.

În captura de ecran de mai sus, am declarat variabila în Modulul 1. Am încă două module, numite Modulul 2 și Modulul 3.

Deoarece am declarat variabila folosind cuvântul „Public” în partea de sus a modulului, acum pot accesa aceste variabile în orice procedură secundară din orice modul din același registru de lucru.

Nu numai „Public”, dar putem folosi și cuvântul „Global” pentru a declara variabila.

Global și public sunt cele două cuvinte cheie care declară variabila și le pun la dispoziție în toate modulele din VBA.

Lucruri de amintit

  • Odată ce macro-ul Excel rulează cu valoarea unei variabile globale, variabila este aceeași în toate procedurile Sub.
  • Este mai bine să mențineți un anumit modul pentru a declara variabile globale în VBA și să aveți toate variabilele într-un singur modul.
  • Singurul mod în care putem reseta valoarea variabilei este prin resetarea codului macro apăsând butonul de oprire.

Articole interesante...