Tipo variabile intero (Int)
Il VBA Int il tipo di dati viene utilizzato per memorizzare numeri interi (nessun valore decimale). Tuttavia, come vedremo di seguito, i valori Integer devono rientrare nell'intervallo da -32768 a 32768.
Per dichiarare una variabile Int, usi l'istruzione Dim (abbreviazione di Dimension):
1 | Dim intA come intero |
Quindi, per assegnare un valore a una variabile, utilizzare semplicemente il segno di uguale:
1 | intA = 30000 |
Inserendo questo in una procedura si presenta così:
12345678 | Sub IntEsempio()'dichiarare l'interoDim intA come intero'popolare l'interointA = 30000'mostra la finestra del messaggioMsgBox intAFine sottotitolo |
Se esegui il codice sopra, verrà mostrata la seguente finestra di messaggio.
Tipo variabile lungo
Come accennato in precedenza, le variabili Int possono memorizzare solo valori compresi tra ‑32768 e 32768. Se si tenta di assegnare un valore al di fuori di tale intervallo a una variabile Int, si riceverà un errore:
Quando fai clic su debug, il codice si interromperà al 'popola la linea intera poiché un numero intero non può memorizzare un numero fino a 50000.
Invece, puoi dichiarare una variabile con il Lungo tipo di dati:
1 | Dim longA come Long |
Le variabili lunghe possono memorizzare tipi di dati molto lunghi (da -2.147.483.648 a 2.147.483.648).
<>
Perché dovresti usare le variabili Int invece delle variabili Long?
Le variabili lunghe utilizzano più memoria. Anni fa, la memoria era una grande preoccupazione durante la scrittura del codice, tuttavia ora la tecnologia informatica è molto migliorata ed è improbabile che si verifichino problemi di memoria causati da variabili lunghe durante la scrittura del codice VBA.
Si consiglia di utilizzare sempre le variabili Long invece delle variabili Int. Continueremo questo tutorial discutendo le variabili Int, ma tieni presente che puoi invece usare il tipo di variabile Long.
Valori decimali e tipi di dati Int
Le variabili Int non possono memorizzare valori decimali. Se si passa a un numero decimale un numero intero, il numero decimale verrà arrotondato per rimuovere il decimale.
Pertanto, se dovessi eseguire la procedura seguente:
12345678 | Sub IntEsempioB()'dichiarare l'interoDim intA come intero'popolare l'interointA = 3524,12'mostra la finestra del messaggioMsgBox intAFine sottotitolo |
Otterrai il seguente risultato (arrotondando per difetto):
Tuttavia, questo codice di seguito:
12345678 | Sub IntEsempioB()'dichiarare l'interoDim intA come intero'popolare l'interointA = 3524,52'mostra la finestra del messaggioMsgBox intAFine sottotitolo |
Restituirebbe la seguente finestra di messaggio (arrotondando per eccesso):
Tipo di dati decimale/doppio
Se si desidera memorizzare una posizione decimale, è necessario dichiarare una variabile che consenta le posizioni decimali. Ci sono 3 tipi di dati che puoi usare: Singolo, Doppio o Valuta.
1 | Dim sngPrezzo come singolo |
1 | Dim dblPrice as Double |
1 | Dim curPrezzo come valuta |
Il tipo di dati Single arrotonderà la virgola in modo leggermente diverso rispetto al tipo di dati double e currency, quindi è preferibile utilizzare double a single per la precisione. Un doppio può avere fino a 12 posizioni decimali mentre la valuta e il singolo possono avere entrambi fino a 4 posizioni decimali.
Per ulteriori informazioni su questi tipi di dati, puoi dare un'occhiata qui.
Dichiara variabile Int a livello di modulo o globale
Negli esempi precedenti, abbiamo dichiarato la variabile Int all'interno di una procedura. Le variabili dichiarate con una procedura possono essere utilizzate solo all'interno di tale procedura.
Invece, puoi dichiarare variabili Int a livello di modulo o globale.
Livello modulo
Livello modulo le variabili sono dichiarate all'inizio dei moduli di codice con il fioco dichiarazione.
Queste variabili possono essere utilizzate con qualsiasi procedura in quel modulo di codice.
Livello globale
Livello globale le variabili sono anche dichiarate nella parte superiore dei moduli di codice. Tuttavia, invece di usare il fioco affermazione, usa il Pubblico istruzione per indicare che la variabile intera è disponibile per essere utilizzata in tutto il progetto VBA.
1 | IntA pubblico come numero intero |
Se si dichiarasse l'intero a livello di modulo e poi si tentasse di utilizzarlo in un modulo diverso, si verificherebbe un errore.
Tuttavia, se si fosse utilizzata la parola chiave Public per dichiarare l'intero, l'errore non si sarebbe verificato e la procedura sarebbe stata eseguita perfettamente.
Converti stringa in Int
Potrebbero esserci istanze o istanze in cui sarà necessario convertire un numero memorizzato come stringa in un valore intero.
Noterai nella finestra immediata che il valore intero va a destra indicando un numero, mentre il valore stringa va a sinistra indicando il testo.
Converti Int in String
Al contrario, puoi convertire un valore intero in una stringa.
Per ulteriori informazioni su questi tipi di dati, puoi dare un'occhiata qui.
Formato intero memorizzato come stringa
<>