La funzione Dim nelle macro Excel

Per dichiarare una variabile in una macro Excel uso la funzione Dim del linguaggio VBA

Dim nome As tipo

Dove nome è il nome della variabile mentre tipo è il tipo di dati della variabile (intera, stringa, booleana, ecc.).

Esempio

Dichiaro una variabile numerica voto di tipo intero

Dim voto As Integer

Dopo la dichiarazione posso assegnare alla variabile qualsiasi valore intero.

La dichiarazione è facoltativa. Non è necessario dichiarare le variabili in una macro Excel. Se utilizzo un nome di variabile senza dichiararla, la macro la dichiara automaticamente. Purché non sia presente option explicit all'inizio del modulo.

Come assegnare valori a una variabile

L'assegnazione di un valore alla variabile posso farla in qualunque altra riga di codice successiva alla dichiarazione.

Scrivo il nome della variabile sul lato a sinistra dell'operatore uguale (=) e il valore che gli voglio a assegnare a destra.

nomevariabile = valore

Dopo aver assegnato un valore alla variabile, posso cambiarlo con un'altra assegnazione o posso usarla come operando in qualsiasi espressione.

Esempio

Ecco un esempio pratico di assegnazione

Dim voto As Integer
voto = 30

Esempio 2

Poiché la dichiarazione della variabile è facoltativa, potrei anche scrivere direttamente

voto = 30

In questo caso è il compilatore a dichiarare automaticamente la variabile nel tipo di dato del valore ossia intero.

Un esempio pratico

In questa macro excel dichiaro una variabile di tipo stringa tramite la funzione Dim. La chiamo "messaggio".

Poi gli assegno un valore alfanumerico "Hello world"

  1. Sub Macro()
  2. Dim messaggio As String
  3. messaggio = "Hello World"
  4. MsgBox (messaggio)
  5. End Sub

Infine, visualizzo il contenuto della variabile messaggio tramite la funzione MsgBox().

Il risultato in output quando eseguo la macro è il seguente:

l'output della macro

Esempio 2

In questo esempio dichiaro una variabile anno e gli assegno il valore 2000.

Poi incremento di 1 il valore della variabile anno.

  1. Sub Macro()
  2. Dim anno As Integer
  3. anno=2000
  4. anno=anno+1
  5. MsgBox (anno)
  6. End Sub

Il risultato in output della macro è

il risultato in output della macro

La macro stampa il contenuto della variabile anno che dopo l'operazione di incremento (riga 4) è diventato 2001

Option explicit

Per evitare che la macro dichiari automaticamente le variabili, basta aggiungere option explicit all'inizio del modulo

  1. Option Explicit
  2. Sub Macro
  3. Dim anno As Integer
  4. End Sub

In questo modo la macro va in errore se incontra una variabile non dichiarata.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le variabili nelle macro Excel

Le variabili in VBA