Una variabile è un contenitore di dati semplici per le macro come: numeri, testi, date; gli
operatori permettono di lavorare con le variabili.
In VBA la definizione di una variabile è di questo tipo:
Dim Variabile
As TipoDato
ad esempio definiremo una variabile punteggio che contiene dati interi in questo modo:
In relatà VBA è piuttosto "permissivo" nella gestione delle variabili: non è sempre necessario definire esplicitamente il tipo di dato (anche se è buona pratica farlo), possiamo infatti possiamo semplciemente assegnare un valore ad una variabile così:
A = 3
in questo caso la variabile verrà definita in automatico di tipo
Variant
I tipi di dati
- Byte: intero fra 0 to 255
- Integer: intero da -32,768 to 32,767
- Long: intero da -2,147,483,648 a 2,147,483,648
- Single: numeri con vigola mobile a precisione singola (4 byte)
- Double: numeri con vigola mobile a precisione doppia (8 byte)
- String: Testo a lunghezza variabile
- Date: Date e ora
- Boolean: Valori True o False
- Variant: Il tipo di dato dipende dal valore memorizzato
Visibilità delle variabili
Le dichiarazioni delle variabili possono essere inserite oltre che nell esingole procedure (o funzioni) anche nella sezione generale del modulo, prima della prima procedure.
A seconda di dove viene collocata la dichiarazione varia la possibilità di accedere e modificarne il valore. Si possono dichiarre variabili (o costanti) a tre livelli differenti:
- Livello locale: vanno dichiarate all'interno della procedura o funzione e sono disponibili solo all'interno di essa;
- Livello di modulo: vanno dichiarate in testa alla finestra del modulo come Private e sono visibili in tutte le procedure (o funzioni) all'interno del modulo;
- Livello pubblico: vanno dichiarate in testa al modulo come Public e sono visibili in tutte le procedure (o funzioni) all'interno del progetto.
Un esempio di come sono scritti i tre tipi di dichirazione:
'Questa variabile è visibile in tutto il progetto
Public Vriabile1
As Integer
'Questa variabile è visibile in tutte le procedure all'interno del modulo
Private Variabile2
As Integer
Sub Somma()
'Questa variabile è visibile solo all'interno della procedura
Dim Variabile3
As Integer
....
End Sub
È possibile dichiarare diverse variabili in una singola riga, ad esempio:
In VBA il nome delle variabili deve sottostare ad alcune regole, non può:
- superare i 255 caratteri.
- ontenere punti o operatori matematici.
- non deve esere una parola già utilizzata per le istruzioni del linguaggio, come: Case, If, For, Else, Then, Select.
Costanti
Una costante ha una definizione simile alla variabile ma il suo valore non può essere modificato nell'esecuzione del codice.
Const Costante
As TipoDato = Valore