Excel VBA VarType-funktion
VBA VARTYPE betyder "variabel type". Denne funktion hjælper os med at identificere den datatype, der er tildelt den specifikke variabel, eller i et enkelt ord kan vi sige, at den finder ud af, hvilken type værdi der er gemt eller tildelt variablen.
Syntaks

VarName: Vi skal bare angive variabelnavnet for at finde de data, der er gemt i det leverede variabelnavn.
Så det tager variabelnavnet som syntaks eller argument, og i output returnerer det datatypen, der er tildelt variablen, eller typen af data, der er gemt i variablen.
Så hvis du nogensinde har spekuleret på, hvordan du finder variabeldatatypen eller typen af data, der er tildelt variablen, så har vi her en VBA-funktion "VarType".

Eksempler
Eksempel nr. 1
I VBA erklærer vi normalt variabler og tildeler dem en datatype, mens vi skriver koden. Se for eksempel på nedenstående VBA-kode.
Kode:
Sub VarType_Example () Dim MyVar As String MyVar = "Hej" Afslut Sub

I ovenstående eksempel har vi deklareret variablen som "String", og for denne streng har vi tildelt værdien som "Hello".
Dette er en ligetil sag, men det er også muligt at erklære variablerne uden at tildele variablerne til dem, så i sådanne tilfælde hjælper VarType-funktionen os.
Kode:
Sub VarType_Example () Dim MyVar MyVar = "Hej" Afslut sub

I ovenstående kode har vi ikke tildelt nogen datatype, men straks tildelt værdien som “Hej”, så ved hjælp af VarType-funktionen kan vi finde datatypen for variablen.
Åbn MSGBOX i VBA-kodning i ovenstående kode.

Åbn derefter VarType-funktionen.

Indtast nu variabelnavnet som argumentet for VARTYPE-funktionen.
Kode:
Sub VarType_Example () Dim MyVar MyVar = "Hej" MsgBox VarType (MyVar) End Sub

Kør nu koden og se hvad vi får i meddelelsesfeltet.

Vi fik resultatet som 8, fordi VBA har visse koder for hver type variabel datatype, så nedenfor er den detaljerede liste for dig.
Værdi | Konstant | Beskrivelse | ||
0 | vbTom | Variablen er endnu ikke initialiseret | ||
1 | vbNull | Ikke gyldige data tildeles | ||
2 | vbInteger | Den variable værdi er "Integer" datatype | ||
3 | vbLang | Den variable værdi er "Lang" datatype | ||
4 | vbSingle | Den variable værdi er "Enkel" datatype | ||
5 | vbDobbelt | Den variable værdi er "Dobbelt" datatype | ||
6 | vbCurrency | Den variable værdi er "Valuta" -datatype | ||
7 | vbDate | Den variable værdi er "Dato" datatype | ||
8 | vbString | Den variable værdi er "String" datatype | ||
9 | vbObject | Den variable værdi er "Objekt" -datatype | ||
10 | vbFejl | Den variable værdi er Fejlværdi | ||
11 | vbBoolean | Den variable værdi er "boolsk" datatype | ||
12 | vbVariant | Variabelværdien er "Variant" -datatype (bruges kun med arrays af varianter) | ||
13 | vbDataObject | Den variable værdi er Data Access Object | ||
14 | vbDecimal | Den variable værdi er "Decimal" datatype | ||
17 | vbByte | Den variable værdi er "Byte" -datatype | ||
20 | vbLongLong | Den variable værdi er "LANG LANG" datatype (gælder kun på 64-bit platforme) | ||
36 | vbUserDefinedType | Den variable værdi er "Brugerdefineret" datatype | ||
8192 | vbArray | Den variable værdi er Array. |
Ok, nu har vores kode genindstillet den variable datatype som 8, dvs. variabelnavnet “MyVar” indeholder datatypen “String”.
Eksempel 2
Se nu på nedenstående kode.
Kode:
Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Lad os køre denne kode og se, hvad resultatet er.

Resultatet er 9, dvs. variablen indeholdt datatypen “Objekt”. Ja, dette er korrekt, fordi vi for variablen "MyVar" har indstillet projektmappehenvisningen til "Denne projektmappe."
Eksempel 3
Se nu på nedenstående kode.
Kode:
Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Dette returnerer resultatet som 2.

Fordi tallet 32500, som er tildelt variablen, er en "heltal" -værdi.
Nu vil jeg ændre værdien til 40000 og se resultatet.
Kode:
Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Dette giver resultatet som 3.

Fordi heltalværdien slutter ved 32767, så alt derover behandles som en VBA LONG-datatype.
Nu vil jeg vedlægge antallet i dobbelt anførselstegn.
Kode:
Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Kør koden og se resultatet.

Vi fik resultatet som 8, dvs. streng datatype.
Dette skyldes, at alt, der leveres inden for parentesen, behandles som en strengvariabel.
Ting at huske
- VARTYPE står for "Variabel type."
- Datatype er repræsenteret af unikke tal, så henvis til tabellen for at forstå, hvilket nummer der repræsenterer hvilken variabel datatype.