Excel VBA VarType-funksjon
VBA VARTYPE betyr “Variabel type”. Denne funksjonen hjelper oss med å identifisere datatypen som er tildelt den spesifikke variabelen, eller i et enkelt ord kan vi si at den finner hvilken type verdi som er lagret eller tilordnet variabelen.
Syntaks

VarName: Vi trenger bare å oppgi variabelnavnet for å finne dataene som er lagret i det medfølgende variabelnavnet.
Så det tar variabelnavnet som syntaks eller argument, og i utgangen returnerer det datatypen som er tildelt variabelen eller typen data som er lagret i variabelen.
Så hvis du noen gang har lurt på hvordan du finner variabeldatatypen eller typen data som er tildelt variabelen, så har vi her en VBA-funksjon "VarType."

Eksempler
Eksempel 1
I VBA, mens vi skriver koden, erklærer vi vanligvis variabler og tilordner en datatype til dem. Se for eksempel på VBA-koden nedenfor.
Kode:
Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

I eksemplet ovenfor har vi erklært variabelen som "String", og for denne strengen har vi tilordnet verdien som "Hello".
Dette er en grei sak, men det er også mulig å erklære variablene uten å tilordne variablene til dem, så i slike tilfeller hjelper VarType-funksjonen oss.
Kode:
Sub VarType_Example () Dim MyVar MyVar = "Hei" Slutt Sub

I koden ovenfor har vi ikke tilordnet noen datatype, men straks tildelt verdien som "Hei", så ved å bruke VarType-funksjonen kan vi finne datatypen til variabelen.
Åpne MSGBOX i VBA-koding i ovennevnte kode.

Åpne deretter VarType-funksjonen.

Skriv inn variabelnavnet som argument for VARTYPE-funksjonen.
Kode:
Sub VarType_Example () Dim MyVar MyVar = "Hello" MsgBox VarType (MyVar) End Sub

Kjør nå koden og se hva vi får i meldingsboksen.

Vi fikk resultatet som 8 fordi VBA har visse koder for hver type variabel datatype, så nedenfor er den detaljerte listen for deg.
Verdi | Konstant | Beskrivelse | ||
0 | vbTom | Variabelen er ennå ikke initialisert | ||
1 | vbNull | Ikke gyldige data er tilordnet | ||
2 | vbInteger | Den variable verdien er "Heltall" datatype | ||
3 | vbLang | Den variable verdien er "Lang" datatype | ||
4 | vbSingle | Variabelverdien er "Single" datatype | ||
5 | vbDobbelt | Den variable verdien er "Dobbel" datatype | ||
6 | vbCurrency | Den variable verdien er "Valuta" datatype | ||
7 | vbDate | Den variable verdien er "Dato" datatype | ||
8 | vbString | Variabelverdien er "String" -datatype | ||
9 | vbObject | Den variable verdien er "Objekt" -datatype | ||
10 | vbFeil | Den variable verdien er Error Value | ||
11 | vbBoolean | Den variable verdien er "boolsk" datatype | ||
12 | vbVariant | Variabelverdien er datatypen "Variant" (brukes kun med varianter) | ||
1. 3 | vbDataObject | Den variable verdien er Data Access Object | ||
14 | vbDecimal | Variabelverdien er "Desimal" datatype | ||
17 | vbByte | Variabelverdien er datatype “Byte” | ||
20 | vbLongLong | Den variable verdien er "LANG LANG" datatype (kun gyldig på 64-biters plattformer) | ||
36 | vbUserDefinedType | Variabelverdien er "Brukerdefinert" datatype | ||
8192 | vbArray | Den variable verdien er Array. |
Ok, nå har koden vår justert variabeldatatypen som 8, dvs. variabelnavnet "MyVar" inneholder datatypen "String".
Eksempel 2
Nå, se på koden nedenfor.
Kode:
Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

La oss kjøre denne koden og se hva resultatet er.

Resultatet er 9, dvs. variabelen inneholdt datatypen “Objekt”. Ja, dette er riktig fordi vi for variabelen "MyVar" har satt arbeidsbokreferansen til "Denne arbeidsboken."
Eksempel 3
Nå, se på koden nedenfor.
Kode:
Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Dette vil returnere resultatet som 2.

Fordi tallet 32500, som er tildelt variabelen, er en "Heltall" -verdi.
Nå vil jeg endre verdien til 40000 og se resultatet.
Kode:
Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Dette vil gi resultatet som 3.

Fordi Heltallverdi slutter på 32767, så blir alt over det behandlet som en VBA LONG datatype.
Nå skal jeg legge inn tallet i dobbelt anførselstegn.
Kode:
Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Kjør koden og se resultatet.

Vi fikk resultatet som 8, dvs. streng datatype.
Dette er fordi alt som er levert innen parentes blir behandlet som en strengvariabel.
Ting å huske
- VARTYPE står for "Variabel type."
- Datatype er representert med unike tall, så referer til tabellen for å forstå hvilket nummer som representerer hvilken variabel datatype.