VBA VARTYPE-funktion

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 medföljande variabelnamnet.

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

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

Exempel

Du kan ladda ner denna VBA VARTYPE Excel-mall här - VBA VARTYPE Excel-mall

Exempel nr 1

I VBA när vi skriver koden deklarerar vi vanligtvis variabel och tilldelar dem en datatyp. För ett exempel, se 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 som "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 koden ovan har vi inte tilldelat någon datatyp utan omedelbart 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 argumentet 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ärdeKonstantBeskrivning
0vbTomVariabel har ännu inte initierats
1vbNullEj giltiga data tilldelas
2vbIntegerVariabelvärdet är ”Integer” -datatyp
3vbLångVariabelvärdet är ”Lång” datatyp
4vbSingleVariabelvärdet är ”Enkel” datatyp
5vbDubbelVariabelvärdet är "Dubbel" datatyp
6vbCurrencyDet variabla värdet är datatyp "Valuta"
7vbDateVariabelvärdet är datatyp "Datum"
8vbStringVariabelvärdet är datatyp "String"
9vbObjectVariabelvärdet är datatyp "Objekt"
10vbErrorVariabelvärdet är Felvärde
11vbBooleanVariabelt värde är "boolesk" datatyp
12vbVariantVariabelvärdet är datatyp "Variant" (används endast med varianter av varianter)
13vbDataObjectVariabelvärdet är Data Access-objektet
14vbDecimalVariabelvärdet är "Decimal" datatyp
17vbByteVariabelvärdet är "Byte" -datatyp
20vbLongLongDet variabla värdet är datatyp ”LÅNG LÅNG” (gäller endast 64-bitars plattformar)
36vbUserDefinedTypeVariabelt värde är ”Användardefinierad” datatyp
8192vbArrayDet variabla värdet är Array

Okej, nu har vår kod justerat den variabla datatypen som 8, dvs variabelnamnet "MyVar" innehåller "Sträng" -datatyp.

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 arbetsbokshänvisningen 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å se tabellen för att förstå vilket nummer som representerar vilken variabel datatyp.