VBA VARTYPE-funktion - Hur hittar jag datatyp för variabel?

Innehållsförteckning

Excel VBA VarType-funktion

VBA VARTYPE betyder ”Variabel typ”. Denna funktion hjälper oss att identifiera datatypen som tilldelats den specifika variabeln eller i enkla ord kan vi säga att den hittar vilken typ av värde som lagras eller tilldelas variabeln.

Syntax

VarName: Vi behöver bara ange variabelnamnet för att hitta de data som lagras i det angivna variabelnamnet.

Så det tar variabelnamnet som syntax eller argument, och i utgången returneras den datatyp som tilldelats variabeln eller vilken typ av data som lagras i variabeln.

Så om du någonsin har undrat hur du hittar variabeldatatypen eller vilken typ av data som tilldelats variabeln, så har vi här en VBA-funktion "VarType".

Exempel

Exempel 1

I VBA förklarar vi vanligtvis variabler och tilldelar dem en datatyp när vi skriver koden. Titta till exempel på nedanstående VBA-kod.

Koda:

Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

I exemplet ovan har vi deklarerat variabeln som "String" och för denna sträng har vi tilldelat värdet "Hello".

Detta är ett enkelt fall, men det är också möjligt att deklarera variablerna utan att tilldela variablerna till dem, så i sådana fall hjälper VarType-funktionen oss.

Koda:

Sub VarType_Example () Dim MyVar MyVar = "Hej" Slut Sub

I ovanstående kod har vi inte tilldelat någon datatyp men genast tilldelat värdet ”Hej”, så med hjälp av VarType-funktionen kan vi hitta datatypen för variabeln.

Öppna MSGBOX i VBA-kodning i ovanstående kod.

Öppna sedan VarType-funktionen.

Ange nu variabelnamnet som argument för VARTYPE-funktionen.

Koda:

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

Kör nu koden och se vad vi får i meddelandefältet.

Vi fick resultatet som 8 eftersom VBA har vissa koder för varje typ av variabel datatyp, så nedan är den detaljerade listan för dig.

Värde Konstant Beskrivning
0 vbTom Variabel har ännu inte initierats
1 vbNull Ej giltiga data tilldelas
2 vbInteger Variabelvärdet är datatyp ”Integer”
3 vbLång Variabelvärdet är ”Lång” datatyp
4 vbSingle Variabelvärdet är ”Enkel” datatyp
5 vbDubbel Variabelvärdet är "Dubbel" datatyp
6 vbCurrency Variabelvärdet är datatyp "Valuta"
7 vbDate Variabelvärdet är datatyp "Datum"
8 vbString Variabelvärdet är datatyp "String"
9 vbObject Variabelvärdet är datatyp "Objekt"
10 vbError Variabelvärdet är Felvärde
11 vbBoolean Variabelvärdet är "boolesk" datatyp
12 vbVariant Variabelvärdet är datatyp "Variant" (används endast med varianter av varianter)
13 vbDataObject Variabelvärdet är Data Access-objektet
14 vbDecimal Variabelvärdet är "Decimal" datatyp
17 vbByte Variabelvärdet är datatyp ”Byte”
20 vbLongLong Det variabla värdet är datatyp ”LÅNG LÅNG” (gäller endast 64-bitars plattformar)
36 vbUserDefinedType Variabelvärdet är "Användardefinierad" datatyp
8192 vbArray Det variabla värdet är Array.

Ok, nu har vår kod justerat den variabla datatypen som 8, dvs variabelnamnet “MyVar” innehåller datatypen “Sträng”.

Exempel 2

Titta nu på koden nedan.

Koda:

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

Låt oss köra den här koden och se vad resultatet är.

Resultatet är 9, dvs variabel innehöll datatypen ”Objekt”. Ja, detta är korrekt eftersom vi för variabeln "MyVar" har ställt in arbetsbokens referens för "Denna arbetsbok."

Exempel # 3

Titta nu på koden nedan.

Koda:

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

Detta returnerar resultatet som 2.

Eftersom siffran 32500, som tilldelas variabeln, är ett "heltal" -värde.

Nu kommer jag att ändra värdet till 40000 och se resultatet.

Koda:

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

Detta ger resultatet 3.

Eftersom heltalsvärdet slutar vid 32767, så kommer allt ovan som att behandlas som en VBA LONG-datatyp.

Nu kommer jag att bifoga numret i dubbla citat.

Koda:

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

Kör koden och se resultatet.

Vi fick resultatet som 8, dvs Strängdatatyp.

Detta beror på att allt som tillhandahålls inom parentes kommer att behandlas som en strängvariabel.

Saker att komma ihåg

  • VARTYPE står för "Variable Type."
  • Datatyp representeras av unika nummer, så hänvisa till tabellen för att förstå vilket nummer som representerar vilken variabel datatyp.

Intressanta artiklar...