Variabile globale VBA

Sommario

Tratteremo le variabili globali, in questo tutorial. Una variabile in VBA può avere un ambito diverso. L'ambito di una variabile si basa sulla sua posizione nel codice e sul modo in cui è dichiarata. L'ambito di una variabile indica la sua visibilità e dove può essere utilizzata.

Variabile a livello di procedura

Queste variabili possono essere utilizzate solo all'interno della procedura secondaria o della funzione in cui sono dichiarate. È necessario dichiarare una variabile a livello di procedura utilizzando la parola chiave Dim. Inoltre, è necessario inserirlo all'interno della procedura secondaria o della funzione di interesse. Il modo in cui dichiareresti una variabile a livello di procedura è mostrato nel codice seguente:

1234567 Sub DichiaranteAProcedureLevelVariable()Dim someNumber As Integerqualche numero = 5MsgBox someNumberFine sottotitolo

Il risultato è:

È possibile utilizzare questa variabile solo all'interno della procedura Sub denominata DeclaringAProcedureLevelVariable(). Dal momento che è in questa procedura secondaria e abbiamo usato la parola chiave Dim. Se lo chiami da un'altra procedura secondaria, otterresti il ​​seguente errore:

Variabile livello modulo

È possibile utilizzare una variabile a livello di modulo in qualsiasi procedura secondaria o funzione all'interno dello stesso modulo. È necessario posizionare la dichiarazione della variabile nella parte superiore del modulo nella sezione Dichiarazioni, sotto l'istruzione Options Explicit, e utilizzare la parola chiave Dim:

Quando eseguiamo la seconda procedura secondaria invece di un messaggio di errore, otteniamo il seguente risultato nella cella A1 della cartella di lavoro:

Variabile di livello globale

Puoi utilizzare una variabile globale nei tuoi moduli, funzioni, procedure secondarie e classi. Dichiari una variabile Global, nella sezione Dichiarazioni, sotto l'istruzione Options Explicit e usando la parola chiave Global. Il modo in cui si dichiara una variabile di livello globale è mostrato di seguito. Entrambe le procedure Sub in Module1 possono utilizzare questa variabile.

Poiché questa variabile è una variabile di livello globale, puoi utilizzarla anche nel Modulo2:

Quando esegui questo codice da Module2, ottieni il seguente risultato:

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave