Funzione VBA VARTYPE - Come trovare il tipo di dati della variabile?

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.

Articoli interessanti...