lettura normale

La dichiarazione delle variabili in una macro Excel

In questa lezione del corso Excel ti spiego come dichiarare una variabile in una macro.

Dim nome As tipo

La funzione Dim ha due parametri

  • Il parametro "nome" è il nome della variabile. E' obbligatorio.
  • Il parametro "tipo" è il tipo di dati che ospiterà la variabile. E' facoltativo.

Quali sono i tipi di dati? Esistono diversi formati o tipi di dati in una macro Excel. I principali sono i seguenti.

  • String per le stringhe (testi)
  • Integer per i numeri interi
  • Double per i numeri con doppia precisione

Ti faccio un esempio pratico.

Digita questa macro.

  1. Sub Macro()
  2. Dim messaggio As String
  3. messaggio = "Hello World"
  4. Range("B3").Select
  5. ActiveCell.FormulaR1C1 = messaggio
  6. End Sub

Questa macro dichiara una variabile con nome "messaggio" e tipo dati String (testo) tramite l'istruzione Dim messaggio As String.

Poi assegna alla variabile la stringa "Hello World" tramite l'assegnazione messaggio = "Hello World".

Nella riga successiva seleziona la cella B3 come cella attiva tramite l'istruzione Range("B3").Select.

attiva la cella B3

Infine, scrive il contenuto della variabile messaggio nella cella attiva (B3) tramite l'istruzione ActiveCell.FormulaR1C1 = messaggio.

la macro scrive la variabile nella cella B3

La dichiarazione del tipo di dati è facoltativa e non è nemmeno vincolante

Ad esempio, puoi dichiarare una variabile come stringa e assegnargli un numero.

La macro funziona lo stesso ed Excel non va in errore

 

  1. Sub Macro()
  2. Dim messaggio As String
  3. messaggio = 2020
  4. Range("B3").Select
  5. ActiveCell.FormulaR1C1 = messaggio
  6. End Sub

Puoi anche dichiarare una variabile senza indicare il tipo di dati.

Il risultato sempre lo stesso.

 

  1. Sub Macro()
  2. Dim messaggio
  3. messaggio = "Hello World"
  4. Range("B3").Select
  5. ActiveCell.FormulaR1C1 = messaggio
  6. End Sub

In generale la dichiarazione delle variabili è facoltativa in una macro.

Potresti anche non dichiarare affatto le variabili

  1. Sub Macro()
  2. messaggio = "Hello World"
  3. Range("B3").Select
  4. ActiveCell.FormulaR1C1 = messaggio
  5. End Sub

In questi casi si occupa Excel della dichiarazione della variabile nel momento in cui gli assegni un valore.

Tuttavia, è una buona consuetudine della programmazione dichiarare sempre le variabili.

Se vuoi imporre a Excel di usare solo le variabili dichiarate, puoi aggiungere la clausola Option Explicit all'inizio del modulo

  1. Option Explicit
  2. Sub Macro()
  3. Dim messaggio As String
  4. messaggio = "Hello World"
  5. Range("B3").Select
  6. ActiveCell.FormulaR1C1 = messaggio
  7. End Sub

Questa clausola obbliga Excel a lavorare esclusivamente con le variabili dichiarate in modo esplicito (option explicit) nella macro.

In questo caso, se tenti di assegnare un valore a una variabile non dichiarata, Excel restituisce un errore.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin