Dati, tipi di dati, variabili, costanti
In ogni linguaggio di programmazione che si rispetti, ci troveremo a gestire una classe variegata di informazioni:
- numeri
- stringhe, ossia dati alfanumerici (composto da numeri e lettere);
- data e ora
- informazioni booleane (di tipo True oppure False)
- tipi di dati definiti dall'utente
- tipi di dati strutturati (array monodimensionali e pluridimensionali) Gli array pluridimensionali sono le matrici. Gli array ad una sola dimensione sono detti anche vettori.
Per gestire questo mixing di informazioni, nella creazione di programmi si richiede
la memorizzazione dei valori in variabili.
Una variabile VBA è identificata da tre elementi:
- un nome con una serie di vincoli che poi vedremo;
- un valore;
- un tipo.
Ai fini di rendere il codice autodocumentato dobbiamo prestare attenzione a:
- inserire dei commenti alle procedure che stiamo realizzando. Basta inserire prima del commento un segno di apostrofo. Vedrete il commento colorato di verde;
- all'assegnazione di nomi alle variabili. Il nome della variabile vi deve evocare il contenuto che andrete a memorizzare. Es. areaquadrato, arearettangolo, cognome, nome, datanascita;
- non creare variabili a casaccio. Mi sto riferendo alla dichiarazione obbligatoria delle variabili, in modo da generare errore quando avete utilizzato una variabile e questa non sia stata dichiarata.
I vincoli ai quali si è assoggettati, per l'assegnazione di un nome ad una variabile sono:
- il nome non può essere superiore ai 255 caratteri;
- il nome non può contenere spazi o segni di punteggiatura o caratteri riservati dal linguaggio stesso (es: operatori aritmetici di cui parleremo);
- non può iniziare con un numero.
A differenza del linguaggio C o C++, il VBA essendo di derivazione stretta del Visual Basic, nella scrittura del nome di una variabile, possiamo editarlo maiuscolo, o minuscolo, sarà sempre riscritto come viene dichiarato. Si dice che i nomi sono considerati
'case insensitive'.
Per dichiarare una variabile si utilizza l'istruzione Dim:
Dim Nome as Tipo
In contrapposizione con le variabili, le informazioni, che non saranno soggetti a cambiamenti nel corso di esecuzione dell'applicazione, sono denominate
costanti
Per dichiarare una costante ci sono due tecniche:
Const nome=Valore
oppure
Const nome as Tipo=Valore
Questa forma permette di rendere
esplicita la dichiarazione del tipo per una costante. La prima forma, anch'essa corretta, può essere utilizzata in virtù del fatto che i tipi delle costanti sono dedotti in base al valore assegnato.
E' giunto adesso il momento di produrre una tabella riassuntiva dei tipi di dati elementari disponibili in VBA:
(L'articolo continua più sotto...)
');
| Tipi di dati |
Descrizione |
Dati rappresentati |
| Boolean |
Memorizza valori dell'Algebra di Boole |
True oppure False |
| Byte |
Memorizza valori naturali |
intervallo di valori compresi tra 0 e 255 |
| Currency |
Memorizza valori monetari compresi 4 cifre decimali |
Intervallo compreso tra -922... a +922... |
| Date |
Memorizza informazioni circa data e orario compreso |
Dal 1 gennaio 100 al 31 dicembre 9999 |
| Double |
Memorizza valori decimali a precisione doppia |
Intervallo numeri negativi da -1,797679E308 a -4,94065E-324 Intervallo numeri positivi da da 4,04065E-324 A 1,79679E308 |
| Integer |
Valori naturali con segno |
Intervallo -32.768 a + 32.767 |
| Long |
Valori naturali con segno |
Intervallo -2.147.... a + 2.147.... |
| Object |
Memorizza un riferimento all'oggetto |
Dipende dalla natura dell'oggetto |
| Single |
Valori decimali a singola precisione |
Intervallo numeri negativi: da -3,4028... a -1,4012... Intervallo numeri positivi da 1,4012... a 3,4028... |
| String |
Memorizza stringhe alfnumeriche |
Memorizza qualsiasi stringa di caratteri |
| Variant (*) |
Memorizza qualsiasi tipo |
Il dato rappresentato dipende dal tipo rappresentato. |
In VBA, come il linguaggio Visual Basic 6.0, dispone di un
'super tipo'. Esso è denominato
Variant.. La capacità di memorizzazione dipende dal tipo di dato rappresentato (stringa, object, integer, long, ecc.).
Ricordiamo che se non si utilizza la
Direttiva Option Explicit che rende obbligatoria la dichiarazione delle variabili, in VBA, come in VB6, una variabile non dichiarata con l'istruzione Dim, verrà automaticamente assegnato il tipo universale 'Variant', con ovvio spreco di maggior memoria per l'allocazione dell'informazione.