Funció VBA VARTYPE | Com es pot trobar el tipus de dades de variable?

Funció de tipus VBA d'Excel

VBA VARTYPE significa "tipus de variable". Aquesta funció ens ajuda a identificar el tipus de dades assignat a la variable específica o en paraules simples podem dir que troba quin tipus de valor s’emmagatzema o s’assigna a la variable.

Sintaxi

VarName: Només hem de proporcionar el nom de la variable per trobar les dades emmagatzemades al nom de la variable subministrat.

Per tant, pren el nom de la variable com a sintaxi o argument i, a la sortida, retorna el tipus de dades assignat a la variable o el tipus de dades emmagatzemades a la variable.

Per tant, si mai us heu preguntat com trobar el tipus de dades variables o el tipus de dades assignades a la variable, aquí tenim una funció VBA "VarType".

Exemples

Podeu descarregar aquesta plantilla Excel VBA VARTYPE aquí - Plantilla Excel VBA VARTYPE

Exemple 1

A VBA mentre escrivim el codi, normalment declarem variables i els assignem un tipus de dades. Per obtenir un exemple, mireu el codi VBA següent.

Codi:

 Sub VarType_Example () Dim MyVar As String MyVar = "Hola" Final Sub 

A l'exemple anterior, hem declarat la variable com a "Cadena" i, per a aquesta cadena, hem assignat el valor com "Hola".

Aquest és un cas senzill, però també és possible declarar les variables sense assignar-les, de manera que, en aquests casos, la funció VarType ens ajuda.

Codi:

 Sub VarType_Example () Dim MyVar MyVar = "Hola" Final Sub 

Al codi anterior no hem assignat cap tipus de dades, però de seguida hem assignat el valor com a "Hola", de manera que mitjançant la funció VarType podem trobar el tipus de dades de la variable.

Obriu MSGBOX a la codificació VBA al codi anterior.

A continuació, obriu la funció VarType.

Ara introduïu el nom de la variable com a argument de la funció VARTYPE.

Codi:

 Sub VarType_Example () Dim MyVar MyVar = "Hola" MsgBox VarType (MyVar) End Sub 

Ara executeu el codi i vegeu què obtenim al quadre de missatges.

Vam obtenir el resultat com a vuit, ja que VBA té determinats codis per a cada tipus de tipus de dades variables, de manera que a continuació es mostra la llista detallada.

ValorConstantDescripció
0vbBuixLa variable encara no s'ha inicialitzat
1vbNullNo s’assignen dades no vàlides
2vbInterEl valor de la variable és el tipus de dades "enter"
3vbLongEl valor de la variable és el tipus de dades "llarg"
4vbSingleEl valor de la variable és de tipus de dades "únic"
5vbDobleEl valor de la variable és el tipus de dades "doble"
6vbCurrencyEl valor variable és el tipus de dades "Moneda"
7vbDateEl valor de la variable és el tipus de dades "Data"
8vbStringEl valor de la variable és el tipus de dades "Cadena"
9vbObjecteEl valor variable és el tipus de dades "Objecte"
10vbErrorEl valor de la variable és Valor d'error
11vbBooleàEl valor de la variable és el tipus de dades "booleà"
12vbVariantEl valor de la variable és el tipus de dades "Variant" (només s'utilitza amb matrius de variants)
13vbDataObjectEl valor variable és l’objecte d’accés a dades
14vbDecimalEl valor de la variable és el tipus de dades "decimal"
17vbByteEl valor de la variable és el tipus de dades "Byte"
20vbLongLongEl valor variable és el tipus de dades "LONG LONG" (vàlid només a les plataformes de 64 bits)
36vbUserDefinedTypeEl valor de la variable és el tipus de dades "Definit per l'usuari"
8192vbArrayEl valor variable és Array

D’acord, ara el nostre codi ha tornat a ajustar el tipus de dades variables ja que 8 és a dir, el nom de la variable "MyVar" conté tipus de dades "Cadena".

Exemple 2

Ara mireu el codi següent.

Codi:

 Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub 

Executem aquest codi i vegem quin és el resultat.

El resultat és 9, és a dir, la variable conté el tipus de dades "Objecte". Sí, això és correcte perquè per a la variable "MyVar" hem establert la referència del llibre "Aquest llibre".

Exemple 3

Ara mireu el codi següent.

Codi:

 Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub 

Això retornarà el resultat com a 2.

Com que el número 32500 que s’assigna a la variable és un valor “enter”.

Ara canviaré el valor a 40000 i veuré el resultat.

Codi:

 Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub 

Això donarà el resultat com a 3.

Com que el valor enter finalitza en 32767, de manera que qualsevol cosa superior es tractarà com un tipus de dades VBA LONG.

Ara inclouré el número entre cometes dobles.

Codi:

 Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub 

Executeu el codi i vegeu el resultat.

Hem obtingut el resultat com a 8, és a dir, tipus de dades de cadena.

Això es deu al fet que tot el subministrat dins del parèntesi es tractarà com una variable de cadena.

Coses que cal recordar

  • VARTYPE significa "Tipus variable".
  • El tipus de dades es representa mitjançant nombres únics; per tant, consulteu la taula per entendre quin nombre representa quin tipus de dades variable.