VBA VarType

Questo articolo dimostrerà l'utilizzo della funzione VarType in VBA.

VarType significa Tipo variabile. Possiamo fornire il nome della variabile alla funzione VarType e restituirà un numero intero che descrive il tipo di dati memorizzati in quella variabile in base a un elenco di costanti VBA.

Utilizzo di una variabile Variant per trovare il VarType

Possiamo dichiarare una variabile come variabile Variant. Questo ci consentirà di archiviare qualsiasi tipo di dati consentiti al suo interno. Possiamo quindi popolare questa variabile e utilizzare la funzione VarType per vedere quale tipo di dati è nella variabile.

Per esempio:

12345 Sub TestVarType()Dim MyVariable As VariantMyVariable = "Hello World"MsgBox "Il tipo di variabile è " & VarType(MyVariable)Fine sottotitolo

Questo restituirà la seguente finestra di messaggio:

Viene quindi restituito il valore di 8. Questo in una costante di Excel che definisce il tipo di dati archiviati nella variabile.

Questo valore costante corrisponde alla tabella seguente:

Costante Valore Descrizione
vbEmpty 0 Vuoto (non inizializzato)
vbNull 1 Nullo (nessun dato valido)
vbIntero 2 Numero intero
vbLong 3 intero lungo
vbSingle 4 Numero a virgola mobile a precisione singola
vbDouble 5 Numero a virgola mobile a doppia precisione
vbValuta 6 Valore della valuta
vbDate 7 Valore della data
vbString 8 Corda
vbObject 9 Oggetto
vbError 10 Valore di errore
vbBoolean 11 valore booleano
vbVariant 12 Variante (usato solo con array di varianti)
vbDataObject 13 Un oggetto di accesso ai dati
vbDecimal 14 Valore decimale
vbByte 17 Valore in byte
vbLongLong 20 Intero LongLong (valido solo su piattaforme a 64 bit)
vbUserDefinedType 36 Varianti che contengono tipi definiti dall'utente
vbArray 8192 Array (sempre aggiunto a un'altra costante quando restituito da questa funzione)

Possiamo provare un altro esempio:

12345 SottoTestVarType()Dim MyVariable As VariantMiaVariabile = 32760MsgBox "Il tipo di variabile è " & VarType(MyVariable)Fine sottotitolo

Questa volta la finestra di messaggio restituirà un 2 poiché il tipo di dati archiviato nella variabile è Integer.

Tuttavia, se cambiamo il valore in 32780, il valore restituito sarà 3 - Long Integer poiché un tipo di dati Integer ha un valore massimo di 32767; dopo di che è un intero lungo.

Se dovessimo modificare ancora una volta il codice:

12345 SottoTestVarType()Dim MyVariable As VariantMiaVariabile = 32760,52MsgBox "Il tipo di variabile è " & VarType(MyVariable)Fine sottotitolo

Ora otterremmo un valore restituito di 5: il tipo di dati è Double a causa delle posizioni decimali.

Se dovessimo mettere il valore nella variabile tra virgolette, allora ancora una volta verrebbe restituito un 8 poiché qualsiasi valore contenuto tra virgolette viene memorizzato come valore stringa.

12345 SottoTestVarType()Dim MyVariable As VariantMiaVariabile = "32760.52"MsgBox "Il tipo di variabile è " & VarType(MyVariable)Fine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave