L’ambito di una variabile in Excel VBA determina dove queste possono essere utilizzate variabile. Si determina l’ambito di una variabile quando si dichiara.

Ci sono tre livelli di ambito: livello di routine, livello di modulo, e il livello di modulo pubblico.

Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:

Variable Scope Example

  1. Posizionare le due procedure (una procedura o è un sub o una funzione) in un modulo. In Visual Basic Editor, fare clic su Inserisci, Modulo. Aggiungere le seguenti righe di codice:

Procedure Level Scope in Excel VBA

  1. Risultato quando si fa clic sul pulsante di comando sul foglio (chiamare i due sub):

Procedure Level Scope Result

Procedure Level Scope Result

Spiegazione: la variabile txt ha portata livello di routine perché è stata dichiarata nella procedura (tra il Sub e End Sub). Di conseguenza, è possibile utilizzare solo questa variabile in sub1. Il txt variabile non può essere utilizzato in sub2.

  1. Quando si desidera una variabile sia disponibile per tutte le procedure di un modulo, che si sta dicendo che vuole la variabile abbia ambito a livello di modulo.

È necessario dichiarare la variabile nella sezione dichiarazioni generali (nella parte superiore del modulo). Leggermente regolare il codice come segue:

Module Level Scope in Excel VBA

  1. Risultato quando si fa clic sul pulsante di comando sul foglio:

Module Level Scope Result

Module Level Scope Result

Spiegazione: la variabile txt può ora essere utilizzato in sub2. livello di modulo è usato in modo intercambiabile con livello di modulo privato. Questo perché per default variabili dichiarate con l’istruzione Dim nella sezione dichiarazioni generali hanno un ambito come privato. È anche possibile portata una variabile come pubblico. Continuare a leggere.

  1. Utilizzando la parola chiave Public, la variabile sarà disponibile per tutte le procedure di tutti i moduli in una cartella di lavoro. Questo è chiamato livello di ambito modulo pubblico. Leggermente regolare il codice come segue:

Public Module Level Scope in Excel VBA

Spiegazione: ora è possibile creare un nuovo modulo e inserire un sub chiamato SUB3 in questo modulo. Utilizzare lo stesso codice come sub2. Aggiungere SUB3 al codice pulsante di comando. Quando si fa clic sul pulsante di comando sul foglio di lavoro, si otterrà tre finestre di messaggio dicendo “variabile può essere utilizzata solo in questo procedimento” (vedi file di Excel scaricabile).