Variabile pubblica VBA di Excel

La variabile è una parte importante della vita di un programmatore. Ogni volta che un programmatore codifica crea un insieme di variabili. Una variabile può essere considerata come un buono che usiamo frequentemente su siti di shopping online come Flipkart, Amazon, ecc. Che consente di avere un certo sconto su determinati prodotti predefiniti. Lo stesso vale per una variabile. Una variabile può essere grammaticalmente definita come un segnaposto che riserva un po 'di memoria nel sistema con un determinato nome. Lo spazio di memoria può quindi essere utilizzato in qualsiasi momento con lo stesso nome.

Una variabile VBA è considerata una variabile pubblica in due circostanze. Quando -

  • Può essere utilizzato insieme a tutti i codici all'interno di un modulo.
  • Può essere utilizzato in tutti i codici per diversi moduli.

In parole povere, una variabile è considerata una variabile pubblica quando può essere utilizzata in qualsiasi codice e in qualsiasi modulo. In questo articolo, stiamo per vedere come è possibile definire una variabile. Come può essere definito pubblicamente all'interno di VBA.

Prima di iniziare il concetto di VBA Public Variable, dobbiamo capire che le variabili utilizzate in una sotto-procedura non possono essere utilizzate nell'altra sotto-procedura (è qui che abbiamo iniziato a sentire la necessità di avere una variabile pubblica che può essere utilizzato su qualsiasi modulo, qualsiasi procedura secondaria).

Supponiamo di creare una sotto-procedura in un VBA e di definire una nuova variabile lì usando l'istruzione Dim.

In questo codice, var1 è la variabile definita nella procedura secondaria Ex_Var .

Ora, definirò una nuova procedura secondaria e l'ironia è che non posso usare var1 precedentemente definito in questa procedura secondaria. Vedi lo screenshot qui sotto, in cui sto cercando di assegnare il valore 10 a var1 in diverse procedure secondarie. Vedi anche il messaggio di errore dopo aver eseguito il codice.

Dichiarando le variabili in sottoprocedure, le limitiamo ad essere utilizzate solo da tale sottoprocedura. È un grosso svantaggio di dichiarare una variabile all'interno di una sotto-procedura.

Questo porta alla nuova teoria, che include la dichiarazione variabile al di fuori delle procedure secondarie. Ciò aiuterà il programmatore a utilizzare ampiamente le variabili definite con diverse sottoprocedure.

Come dichiarare le variabili pubbliche in VBA?

Vediamo alcuni esempi per dichiarare le variabili pubbliche in VBA.

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

Esempio n. 1: definizione pubblica di una variabile all'interno di un modulo

Supponiamo di voler definire una variabile a cui è possibile accedere pubblicamente attraverso tutti i codici all'interno di un singolo modulo. Possiamo farlo. Seguire i passaggi seguenti:

Passaggio 1: Apri Visual Basic Editor (VBE) premendo Alt + F11 o facendo clic sul pulsante Visual Basic nella scheda Sviluppatori in Excel. Seleziona la scheda Inserisci, passa a Moduli e fai clic su di essa. Aggiungerà un nuovo modulo all'interno del VBE su cui lavorare.

Passaggio 2: all'interno del modulo appena creato, aggiungere il comando Opzione esplicito all'inizio del codice VBA (prima di creare qualsiasi variabile). L'opzione Esplicito ti aiuta se c'è qualche errore di battitura durante l'utilizzo della variabile definita. Se la variabile utilizzata non è definita nel sistema, questa opzione genera un messaggio di errore che indica che la variabile non è definita.

Codice:

 Opzione esplicita 

Passaggio 3: utilizzare un'istruzione Dim per creare una nuova variabile denominata my_name con tipo di dati come String.

Codice:

 Opzione Dim esplicito nome_mio come stringa 

Se potessi prestare attenzione, abbiamo definito questa variabile in modo esplicito. Significato, non fa parte di una specifica procedura secondaria. Il che rende automaticamente disponibile questa variabile per tutti i codici all'interno del modulo creato (Modulo1). Questo è chiamato come definizione pubblica di una variabile all'interno di un modulo. Questa variabile può essere utilizzata ovunque attraverso le molteplici procedure secondarie all'interno dello stesso modulo.

Supponiamo che il codice indicato di seguito abbia assegnato il valore alla variabile nome_mio come "Lalit Salunkhe".

Codice:

 Opzione Dim esplicito nome_mio come stringa Sottotitolo Ex_1 () nome_mio = "Lalit Salunkhe" MsgBox "Il mio nome è:" & nome_mine Sottotitolo 

Se eseguo questo codice, vedrò una finestra di messaggio come mostrato nello screenshot qui sotto:

Possiamo anche usare questa variabile in diversi sottoprocessi all'interno dello stesso modulo. Vedi lo screenshot fornito di seguito:

Codice:

 Opzione Esplicito Dim my_name come stringa Sottotitolo Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Il mio nome è:" & my_name End Sottotitolo Ex_2 () Dim my_age As Intero nome_mio = "Lalit Salunkhe" my_age = 28 MsgBox "Il mio nome è: "& my_name &"; La mia età è: "& my_age End Sub 

Vedi il sottoprocesso Ex_2. Ha una nuova variabile definita my_age. Ho usato my_name per aggiungere il mio nome e my_age per aggiungere la mia età attuale. Puoi vedere my_name è ancora accessibile nella seconda procedura secondaria. Una volta eseguito questo codice, possiamo ottenere l'output come una finestra di messaggio mostrata di seguito:

Ecco come possiamo definire pubblicamente una variabile all'interno di un modulo.

Esempio n. 2: definizione pubblica di una variabile in tutti i moduli

Per raggiungere questo obiettivo, è necessario utilizzare le parole chiave come Pubblico o Globale anziché Dim che imposta la variabile come pubblica per tutto il modulo ovunque ci si trovi.

Passaggio 1: creare un nuovo modulo. Vai alla scheda Inserisci, fai clic su Modulo per aggiungere un nuovo modulo in VBE.

Passaggio 2: Aggiungi opzione esplicito all'interno del modulo.

Codice:

 Opzione esplicita 

Passaggio 3: definire una nuova variabile denominata var1 e var2 sia come un intero di tipo. Ma questa volta usando la dichiarazione pubblica invece di Dim (che abbiamo usato in precedenza).

Codice:

 Opzione Public esplicito var1 come intero Public var2 come intero 

Passaggio 4: ora, queste due variabili possono essere utilizzate su più moduli se create con lo stesso VBE. Vedi l'esempio riportato di seguito:

Codice:

 Opzione Pubblico esplicito var1 Come intero Pubblico var2 Come intero Sub Ex_3 () var1 = 10 var2 = 100 MsgBox "Il valore per var1 è:" & var1 & Chr (13) & "Il valore per var2 è:" & var2 End Sub 

Abbiamo assegnato i valori a entrambe le variabili usando una funzione MsgBox, cercando di visualizzare i valori per quelle due variabili.

Passaggio 5: eseguire il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci, è possibile visualizzare un output come mostrato di seguito:

Step 6: Useremo le stesse variabili in Module1 che abbiamo usato nel primo esempio e proveremo a capire se le variabili sono accessibili lì o meno.

Codice:

 Opzione Esplicito Dim my_name come stringa Sottotitolo Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Il mio nome è:" & my_name End Sottotitolo Ex_2 () Dim my_age As Intero nome_mio = "Lalit Salunkhe" my_age = 28 MsgBox "Il mio nome è: "& my_name &"; La mia età è: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Il valore per var1 è: "& var1 & Chr (13) &" Il valore per var2 è: "& var2 End Sub 

Se potessi vedere lo screenshot sopra, abbiamo usato lo stesso insieme di variabili definite in Module2 e abbiamo valori come 1000 e 999 rispettivamente. Stiamo usando la funzione MsgBox per presentare rispettivamente i valori di queste due variabili. Esegui il codice e puoi vedere l'output come di seguito:

Ecco come una variabile può essere utilizzata pubblicamente all'interno del modulo e tra i moduli.

Cose da ricordare

  • È sempre preferibile definire esplicitamente le variabili in VBA. In modo che non siano limitati alla sotto-procedura in cui sono definiti.
  • È possibile assegnare una variabile pubblica in due modi: uno all'interno di un modulo utilizzando l'istruzione Dim convenzionale e il secondo su tutti i moduli presenti in VBE utilizzando l'istruzione Public o Global.

Articoli consigliati

Questa è una guida alla variabile pubblica VBA. Qui discutiamo come dichiarare la variabile pubblica in Excel usando il codice VBA in Excel insieme ad esempi pratici e modello scaricabile di Excel. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Variabili globali VBA
  2. Una tabella di dati variabili in Excel
  3. VBA FileSystemObject (FSO)
  4. Due tabelle di dati variabili in Excel

Categoria: