Variabili globali VBA di Excel

Di solito dichiariamo qualsiasi variabile usando la parola DIM e questo è il miglior metodo diretto per farlo. Ma le variabili dichiarate utilizzando DIM possono essere utilizzate solo all'interno dello stesso modulo. Se proviamo a utilizzare questa variabile definita utilizzando DIM, sarà applicabile per il modulo in base al quale viene dichiarata. Cosa succede se vogliamo usare una variabile in qualsiasi modulo o progetto? Cosa non può essere possibile se continuiamo a utilizzare DIM per definire quella variabile?

In tal caso, abbiamo un'opzione secondaria definendo la variabile con la parola Global o Public in VBA. Le variabili VBA globali o pubbliche sono quelle che vengono dichiarate all'inizio della sottocategoria con l'aiuto di Option Explicit. Qualunque cosa che non facciamo o non possiamo fare in sottocategorie, viene eseguita prima in Opzione esplicita.

Come dichiarare le variabili globali in VBA?

Di seguito sono riportati i diversi esempi per dichiarare una variabile globale in Excel utilizzando il codice VBA.

Puoi scaricare questo modello di Excel variabili globali VBA qui - Modello di Excel variabili globali VBA

Variabili globali VBA - Esempio n. 1

In questo esempio, vedremo come diverse sottocategorie possono essere usate come un singolo modulo senza usare la parola Global o Public per definire una variabile. Per questo, avremmo bisogno di un modulo.

  • Vai al menu Inserisci e fai clic su Modulo come mostrato di seguito.

  • Ora digita la sottocategoria in qualsiasi nome, come mostrato di seguito.

Codice:

 Sub Global_Variable () End Sub 

  • Ora usa DIM per definire qualsiasi tipo di variabile. Qui abbiamo scelto l'alfabeto A come stringa .

Codice:

 Sub Global_Variable () Dim A As String End Sub 

  • Ora crea un'altra sottocategoria nello stesso modulo come mostrato di seguito.

Codice:

 Sottotitoli Global_Variable () Dim A As String Sottotitoli Sub Global_Variable6 () End 

  • Ora nella seconda sottocategoria definire un'altra variabile B usando DIM come stringa.

Codice:

 Sottotitoli Global_Variable () Dim A As String Sub Sottotitoli Global_Variable6 () Dim B As String End 

Come mostrato sopra, entrambe le variabili A e B definite in entrambe le sottocategorie non possono essere utilizzate nella reciproca regione. Questi saranno applicabili solo nella propria sottocategoria.

  • Ora per farlo funzionare, scrivi Opzione esplicita sopra la prima sottocategoria come mostrato di seguito.

Codice:

 Opzione Sub esplicito Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Ora possiamo definire la nostra variabile che verrà utilizzata in entrambe le sottocategorie di cui abbiamo sotto. Quindi ora considera di scrivere qualsiasi variabile che dice A come String usando DIM.

Codice:

 Opzione Dim esplicita A come stringa Sottotitoli Global_Variable () Sottotitoli Sub Global_Variable6 () Sottotitoli 

Come abbiamo definito la variabile, tutte le sottocategorie saranno in quel modulo e questo sarebbe applicabile solo a tutto il codice di quel modulo. E se proviamo a chiamare le variabili definite in questo modulo su qualche altro modulo, allora ci darebbe l'errore.

Variabili globali VBA - Esempio n. 2

In questo esempio, vedremo come utilizzare la parola Global o Public per definire qualsiasi variabile in Excel VBA. Per questo, useremo il codice che abbiamo visto nell'esempio-1.

Useremo la parte inferiore di codice per la dichiarazione delle variabili globali o pubbliche.

Codice:

 Opzione Sub esplicito Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Come abbiamo fatto nell'esempio-1 in cui abbiamo dichiarato la variabile comune che sarebbe stata utilizzata in entrambe le sottocategorie, sotto l'opzione Esplicito. Nell'esempio, dichiareremo anche la variabile globale sotto l'opzione esplicita.

Dato che abbiamo già pronto il nostro codice in modo da poter continuare a dichiarare direttamente le variabili usando Global . Ora nell'opzione sottostante Explicit scrivi Global come facevamo con DIM e seleziona una variabile di scelta. Qui stiamo scegliendo l'alfabeto A come mostrato di seguito.

Codice:

 Opzione Esplicita Globale A Sottofondo Global_Variable () Dim A As Sottotitolo Sottotitolo Sub Global_Variable6 () Dim B As Sottotitolo String 

Ora scegliamo qualsiasi tipo di variabile per essere. Dato che abbiamo già usato String nell'esempio sopra, lo useremo anche qui.

Codice:

 Opzione Esplicito Globale A Come stringa Sottotitoli Global_Variable () Dim A As Sottotitoli Sottotitoli Global_Variable6 () Dim B As Sottotitoli stringa 

Questo completa il nostro processo di dichiarazione delle variabili globali. Ora possiamo usarlo in qualsiasi modulo, qualsiasi progetto solo come String. Prima di usarlo, elimina la variabile precedentemente dichiarata, quindi il codice sarebbe simile a quello mostrato di seguito.

Codice:

 Opzione Esplicita Globale A As String Sottotitoli Global_Variable () Sottotitoli Sub Global_Variable6 () Sottotitoli 

Ora assegniamo del testo alla variabile A definita in entrambe le sottocategorie. Stiamo scegliendo "Test1" e "Test2" per la variabile A in entrambe le sottocategorie come mostrato di seguito. Inoltre, abbiamo scelto MsgBox per mostrare i valori memorizzati nella variabile A.

Codice:

 Opzione Esplicita Globale A Come stringa Sottotitoli Global_Variable () A = "Test1" Sottotitoli MsgBox A End Sottotitoli Global_Variable6 () A = "Test2" Sottotitoli MsgBox A End 

Ora esegui il codice premendo il tasto F5 o facendo clic sul pulsante di riproduzione per vedere il risultato.

Otterremo il messaggio come "Test1" come mostrato sopra. È perché avevamo mantenuto il cursore nella prima sottocategoria.

Ora posiziona il cursore in qualsiasi punto della seconda sottocategoria ed esegui nuovamente il codice. Ora verrà visualizzata la finestra di messaggio con il messaggio "Test2" come mostrato di seguito.

È così che possiamo creare e definire una variabile una volta con l'aiuto di Global e che può essere utilizzata in qualsiasi modulo, classe e progetto. Possiamo usare anche Public al posto di Global come mostrato di seguito. E questo darà lo stesso risultato ottenuto utilizzando Global.

Codice:

 Opzione Pubblico esplicito A As String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Pro di VBA Global Variable

  • Risparmia tempo nel dichiarare le variabili multiple quando sappiamo che potrebbe essere necessario definire di nuovo lo stesso tipo di variabile in moduli o sottocategorie differenti.
  • Usando Global o Public nella definizione di un processo variabile, il nostro codice diventa più piccolo risparmiando tempo e spazi.
  • Riduce la complessità quando stiamo scrivendo il codice enorme e può essere confuso tra l'uso di variabili diverse in moduli o sottocategorie differenti.

Contro di VBA Global Variable

  • Se si apportano modifiche alla variabile globale, tali modifiche verranno implementate in tutti i punti in cui vengono utilizzate, causando il problema nella funzionalità del codice scritto.

Cose da ricordare

  • Global e Public possono essere usati in modo intercambiabile con la stessa funzionalità.
  • Se non vogliamo usare la variabile globale, allora possiamo seguire il processo come mostrato nell'esempio-1 per definire la variabile. Ma ciò si limiterebbe allo stesso modulo.
  • Le variabili globali possono essere utilizzate in qualsiasi modulo, sottocategoria, classe o progetto.
  • Una variabile globale fornisce l'output del codice in cui abbiamo mantenuto il cursore. Non eseguirà il codice completo in una volta sola dando tutto l'output uno per uno.

Articoli consigliati

Questa è una guida alle variabili globali VBA. Qui discutiamo come dichiarare le variabili globali in Excel usando il codice VBA insieme ad alcuni esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Modulo utente VBA
  2. Risolvi l'equazione in Excel
  3. VBA Attiva foglio
  4. Come modificare l'elenco a discesa in Excel?

Categoria: