Le variabili in una macro Excel
Le variabili in una macro Excel sono contenitori in cui riporre dati.
La dichiarazione delle variabili
Per dichiarare una nuova variabile utilizzo il comando DIM
Dim nome As tipo
Questa istruzione ha due parametri essenziali
- Nome
Il parametro "nome" è il nome che voglio assegnare alla variabile. Deve iniziare con una lettera e può essere lungo fino a 255 caratteri. - Tipo
Il parametro "tipo" è il tipo di dati che la variabile dovrà contenere (es. numeri, stringhe, valori booleani, ecc.).
Excel non è case sensitive, ossia non distingue tra maiuscole e minuscole.
Pertanto, i nomi myvar, MYVAR o myVAR fanno riferimento alla stessa variabile.
Nota. Nel linguaggio VB della macro non è obbligatorio dichiarare le variabili. Se assegno un valore a un nome di variabile non ancora dichiarata, la macro la dichiara automaticamente. Tuttavia, se all'inizio dello script ho aggiunto il comando Option Explicit, la dichiarazione preventiva delle variabili diventa obbligatoria.
Ad esempio, dichiaro una variabile numerica
Dim numero As Integer
Il tipo Integer indica che si tratta di una variabile numerica destinata a memorizzare numeri interi.
Per dichiarare una variabile alfanumerica utilizzo il tipo String
Dim nome As String
L'assegnazione dei valori alle variabili
L'assegnazione di un valore a una variabile avviene in modo simile ai linguaggi di programmazione.
Scrivo il nome della variabile seguito dal simbolo uguale (=) e dal valore.
nome = valore
L'assegnazione del valore sostituisce l'eventuale precedente valore già assegnato alla variabile.
Ad esempio, assegno alla variabile numero il valore intero 10
Dim numero As Integer
numero = 10
Per assegnare un valore alfanumerico indico il valore tra le doppie virgolette.
Dim nome As String
nome="Andrea"
Nota. Essendo la dichiarazione facoltativa, se non è presente la voce option explicit, posso anche assegnare il valore senza alcuna dichiarazione. E' la macro a dichiarare la variabile, usando come tipo dati quello del valore assegnato.
Il dimensionamento delle variabili
Per dimensionare la variabile fissando una lunghezza massima utilizzo l'operatore *.
Ad esempio, definisco la variabile var1 imponendo una lunghezza massima di 4 caratteri
Dim var1 As String * 4
var1 = "ABCDEF"
Range("B2").Select
ActiveCell.FormulaR1C1 = var1
Poi assegno alla variabile var1 la stringa "ABCDEF".
Nella variabile var1 sono memorizzati solo i primi quattro caratteri della stringa originale, ovvero "ABCD", poiché questi sono l'unica parte della stringa che rientra nella lunghezza massima definita per la variabile.
Gli altri caratteri sono ignorati perché eccedono la lunghezza massima consentita.
Per questa ragione nella cella B2 viene visualizzata la stringa "ABCD" e non la stringa originale "ABCDEF".
E così via.