Variabili globali VBA

Alcune funzioni sono definite all'interno di una funzione e sono utilizzate all'interno delle funzioni e alcune variabili sono definite all'esterno delle funzioni e sono utilizzate da tutte le funzioni e tali variabili sono utilizzate come Variabili globali, ad esempio, le variabili dichiarate sotto la sotto-funzione sono note come variabili globali.

Variabile globale in Excel VBA

Dichiarare una variabile sembra piuttosto semplice, ma per avere buone mani su di loro dobbiamo capire l'ambito di tali variabili. Spesso dichiariamo ogni volta le variabili per ogni macro all'interno della sottoprocedura. Ma dichiarando una variabile possiamo usarla in tutte le macro nello stesso modulo e anche negli altri moduli del progetto VBA corrente. In questo articolo, ti mostreremo come dichiarare le variabili globali in Excel VBA.

Cosa sono le variabili globali in Excel VBA?

Le variabili globali VBA sono variabili dichiarate prima dell'inizio di qualsiasi macro nel modulo. Quando le variabili vengono dichiarate utilizzando "Public" o "Global", diventa "Global Variable".

Le variabili della procedura secondaria non possono essere utilizzate ovunque

Di solito dichiariamo la variabile all'interno della subroutine in vba usando la parola "Dim".

Guarda l'immagine sopra ho dichiarato la variabile "k" come numero intero all'interno della sottoprocedura Global_Example1.

Se usiamo questa variabile all'interno di questa procedura Sub in qualsiasi momento. Tuttavia, non posso utilizzare questa variabile in un'altra procedura secondaria né nello stesso modulo di classe in VBA né in un altro modulo.

Come mostrato nell'immagine sopra, la variabile “k” dichiarata nella sottoprocedura Global_Example1 non può essere utilizzata nella procedura Sub Global_Example2.

Allo stesso modo, la variabile "j" dichiarata nella sottoprocedura Global_Example2 non può essere utilizzata nella procedura Sub Global_Example1 anche se entrambe le sottoprocedure sono nello stesso modulo.

Come dichiarare la variabile globale in VBA?

Di seguito sono riportati i modi per dichiarare una variabile globale in Excel VBA.

# 1 - Le variabili del modulo possono essere utilizzate in qualsiasi procedura secondaria nello stesso modulo

Come abbiamo visto, non possiamo usare le variabili della procedura secondaria in nessuno dei moduli. Per renderli disponibili per tutte le procedure Sub nello stesso modulo, dobbiamo dichiarare le variabili all'inizio del modulo.

Nell'immagine sopra, ho dichiarato la variabile solo all'inizio del modulo. Ho dichiarato la variabile "MyNumber" come Integer nel Modulo 1 .

Una volta dichiarata la variabile in cima al modulo possiamo usare la stessa variabile per tutte le altre procedure Sub nello stesso modulo, in questo caso, possiamo usare la variabile “MyNumber” per tutte le procedure Sub nel Modulo 1.

Il problema è che non possiamo usarli in nessuno degli altri moduli. In questo caso, la variabile "MyNumber" dichiarata nel Modulo 1 non può essere utilizzata nel Modulo 2.

 # 2 - Le variabili globali possono essere utilizzate in qualsiasi procedura secondaria e anche in qualsiasi modulo

Ora abbiamo visto due tipi di dichiarazione di variabili e il loro ambito durante l'utilizzo. La cosa interessante è che possiamo dichiarare la variabile in uno qualsiasi dei moduli e utilizzarla per tutte le procedure Sub in tutti i moduli dello stesso progetto VBA.

Per rendere la variabile disponibile per tutte le procedure Sub in tutti i moduli, dobbiamo dichiarare la variabile all'inizio del modulo non usando la parola “Dim” ma usando la parola “Public” o “Global”.

Nell'immagine sopra, puoi vedere che ho usato la parola "Public" per dichiarare la variabile invece della nostra parola veterana "Dim".

Nello screenshot sopra, ho dichiarato la variabile nel Modulo 1. Ho altri due moduli denominati Modulo 2 e Modulo 3.

Poiché ho dichiarato la variabile utilizzando la parola "Public" nella parte superiore del modulo, ora posso accedere a queste variabili in qualsiasi sottoprocedura su qualsiasi modulo della stessa cartella di lavoro.

Non solo "Pubblico", ma possiamo anche usare la parola "Globale" per dichiarare la variabile.

Globale e pubblico sono le due parole chiave per dichiarare la variabile e renderle disponibili tra i moduli in VBA.

Cose da ricordare

  • Una volta che la macro excel viene eseguita con una variabile globale, il valore della variabile è lo stesso in tutte le procedure Sub.
  • È meglio mantenere un particolare modulo per dichiarare le variabili globali in VBA e avere tutte le variabili in un modulo.
  • L'unico modo per resettare il valore della variabile è resettare il codice macro premendo il pulsante stop.