Tipi definiti dall’utente
Nel paragrafo precedente abbiamo trattato l'argomento sulle variabili, costanti e tipi di dati. Sulle variabili sono stati correlati i seguenti concetti:
- si è discusso del concetto di variabile semplice che memorizza un dato elementare (una data, una stringa, un valore booleano);
- è stata fatta l'esortazione a tutti gli utenti di utilizzare la direttiva Option Explicit, al fine di non permettere di creare variabili a casaccio ed evitare uno spreco irrazionale della memoria, creando variabili di tipo Variant;
- è stata data una tabella riassuntiva dei tipi di dati elementari disponibili per VBA;
- la dichiarazione e l'utilizzazione di tipi di dati definiti dall'utente,usando l'istruzione Type;
- come si dichiarano i vettori (o array monodimensionali) e le matrici (o array pluridimensionali);
Type archivio
cognome As String*30
nome As String*30
credito As Double
End type
All'interno dell'istruzione type, come anche del resto, nelle istruzioni di dichiarazione Dim, le stringhe a lunghezza fissa sono dichiarate così:
cognome as String*30dove 30 è la lunghezza caratteri.
Ricordo che avete creato un tipo di dato personalizzato. In Memoria non avete creato nessun riferimento. Al fine di creare un riferimento in memoria, dovremmo dichiarare questo tipo di dato con l'istruzione Dim.
Dim elenco As archivio

Cognome, nome, credito immaginiamo che le abbiamo create con tre istruzioni Dim singole. Adesso per assegnare un dato, per mezzo del tipo di dato dichiarato (elenco), si procede così:
... elenco.cognome="Rossi" elenco.nome="Marco" elenco.credito=302.20 ...In queste istruzioni di assegnazione:
- i valori alle variabili di tipo stringa vengono indicate tra doppi apici;
- i valori decimali sono indicati secondo la notazione inglese, usando il punto.
Dim elenco(dimensione) As TIPOdove dimensione è possibile indicarla così 1 to 10 ad esempio, oppure solo l'indice superiore, ossia la dimensione massima di elementi memorizzabili
Dim elenco(10) As TIPOè equivalente a:
Dim elenco(1 to 10) as TIPOTIPO può essere uno dei tipi elementari disponibili per VBA, oppure un tipo dati personalizzato.
Con un tipo di dato definito dall'utente e le variabili strutturate è possibile costruire i cosiddetti Array di record
La dichiarazione avviene così:
Dim elenco(1 to 10) as archivioAd ogni elemento si accede così:
elenco(1).cognome
');







