Funzione VarType VBA di Excel
VBA VARTYPE significa "Tipo di variabile". Questa funzione ci aiuta a identificare il tipo di dati assegnato alla variabile specifica o in parole semplici possiamo dire che trova il tipo di valore memorizzato o assegnato alla variabile.
Sintassi

VarName: Dobbiamo solo fornire il nome della variabile per trovare i dati memorizzati nel nome della variabile fornito.
Quindi, prende il nome della variabile come sintassi o argomento e nell'output restituisce il tipo di dati assegnato alla variabile o il tipo di dati memorizzati nella variabile.
Quindi, se ti sei mai chiesto come trovare il tipo di dati della variabile o il tipo di dati assegnati alla variabile, allora qui abbiamo una funzione VBA "VarType".

Esempi
Esempio 1
In VBA, durante la scrittura del codice, di solito dichiariamo le variabili e assegniamo loro un tipo di dati. Ad esempio, guarda il codice VBA sottostante.
Codice:
Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

Nell'esempio precedente, abbiamo dichiarato la variabile come "String" e per questa stringa abbiamo assegnato il valore "Hello".
Questo è un caso semplice, ma è anche possibile dichiarare le variabili senza assegnare loro le variabili, quindi in questi casi la funzione VarType ci aiuta.
Codice:
Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub

Nel codice precedente, non abbiamo assegnato alcun tipo di dati ma abbiamo subito assegnato il valore "Hello", quindi utilizzando la funzione VarType, possiamo trovare il tipo di dati della variabile.
Apri MSGBOX nella codifica VBA nel codice sopra.

Quindi apri la funzione VarType.

Ora inserisci il nome della variabile come argomento della funzione VARTYPE.
Codice:
Sub VarType_Example () Dim MyVar MyVar = "Hello" MsgBox VarType (MyVar) End Sub

Ora esegui il codice e guarda cosa otteniamo nella finestra del messaggio.

Abbiamo ottenuto il risultato come 8 perché VBA ha determinati codici per ogni tipo di tipo di dati variabile, quindi di seguito è riportato l'elenco dettagliato per te.
Valore | Costante | Descrizione | ||
0 | vbEmpty | La variabile non è ancora inizializzata | ||
1 | vbNull | Dati non validi assegnati | ||
2 | vbInteger | Il valore della variabile è il tipo di dati "Integer" | ||
3 | vbLong | Il valore della variabile è il tipo di dati "Lungo" | ||
4 | vbSingle | Il valore della variabile è il tipo di dati "Singolo" | ||
5 | vbDouble | Il valore della variabile è il tipo di dati "Double" | ||
6 | vbCurrency | Il valore della variabile è il tipo di dati "Valuta" | ||
7 | vbDate | Il valore della variabile è il tipo di dati "Data" | ||
8 | vbString | Il valore della variabile è il tipo di dati "String" | ||
9 | vbObject | Il valore della variabile è il tipo di dati "Oggetto" | ||
10 | vbError | Il valore della variabile è Valore errore | ||
11 | vbBoolean | Il valore della variabile è il tipo di dati "Boolean" | ||
12 | vbVariant | Il valore della variabile è il tipo di dati "Variant" (utilizzato solo con array di varianti) | ||
13 | vbDataObject | Il valore della variabile è l'oggetto di accesso ai dati | ||
14 | vbDecimal | Il valore della variabile è il tipo di dati "Decimale" | ||
17 | vbByte | Il valore della variabile è il tipo di dati "Byte" | ||
20 | vbLongLong | Il valore della variabile è il tipo di dati "LONG LONG" (valido solo su piattaforme a 64 bit) | ||
36 | vbUserDefinedType | Il valore della variabile è il tipo di dati "Definito dall'utente" | ||
8192 | vbArray | Il valore della variabile è Array. |
Ok, ora il nostro codice ha risintonizzato il tipo di dati della variabile come 8, cioè, il nome della variabile "MyVar" contiene il tipo di dati "String".
Esempio n. 2
Ora guarda il codice sottostante.
Codice:
Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Eseguiamo questo codice e vediamo qual è il risultato.

Il risultato è 9, ovvero la variabile conteneva il tipo di dati "Oggetto". Sì, è corretto perché, per la variabile "MyVar", abbiamo impostato il riferimento alla cartella di lavoro di "Questa cartella di lavoro".
Esempio n. 3
Ora guarda il codice sottostante.
Codice:
Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Questo restituirà il risultato come 2.

Perché il numero 32500, che è assegnato alla variabile, è un valore "Integer".
Ora cambierò il valore in 40000 e vedrò il risultato.
Codice:
Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Questo darà il risultato come 3.

Poiché il valore Integer termina a 32767, quindi qualsiasi cosa sopra verrà trattata come un tipo di dati VBA LONG.
Ora racchiuderò il numero tra virgolette doppie.
Codice:
Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Esegui il codice e guarda il risultato.

Abbiamo ottenuto il risultato come 8, ovvero tipo di dati String.
Questo perché qualsiasi cosa fornita tra parentesi verrà trattata come una variabile String.
Cose da ricordare
- VARTYPE sta per "Variable Type".
- Il tipo di dati è rappresentato da numeri univoci, quindi fare riferimento alla tabella per capire quale numero rappresenta il tipo di dati della variabile.