VBA VARTYPE-functie

Excel VBA VarType-functie

VBA VARTYPE betekent "Variabel Type". Deze functie helpt ons om het gegevenstype te identificeren dat aan de specifieke variabele is toegewezen, of in eenvoudig woord kunnen we zeggen dat het vindt wat voor soort waarde is opgeslagen of toegewezen aan de variabele.

Syntaxis

VarName: we hoeven alleen de variabelenaam op te geven om de gegevens te vinden die zijn opgeslagen in de opgegeven variabelenaam.

Het neemt dus de variabelenaam als syntaxis of argument en retourneert in de uitvoer het gegevenstype dat aan de variabele is toegewezen of het soort gegevens dat in de variabele is opgeslagen.

Dus als je je ooit hebt afgevraagd hoe je het variabele datatype of het soort data dat aan de variabele is toegewezen kunt vinden, dan hebben we hier een VBA-functie "VarType".

Voorbeelden

U kunt deze VBA VARTYPE Excel-sjabloon hier downloaden - VBA VARTYPE Excel-sjabloon

Voorbeeld 1

In VBA declareren we tijdens het schrijven van de code meestal een variabele en wijzen we er een gegevenstype aan toe. Kijk voor een voorbeeld naar de onderstaande VBA-code.

Code:

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

In het bovenstaande voorbeeld hebben we de variabele gedeclareerd als "String" en voor deze string hebben we de waarde toegewezen als "Hallo".

Dit is een eenvoudig geval, maar het is ook mogelijk om de variabelen te declareren zonder de variabelen eraan toe te kennen, dus in dergelijke gevallen helpt de VarType-functie ons.

Code:

 Sub VarType_Example () Dim MyVar MyVar = "Hallo" End Sub 

In de bovenstaande code hebben we geen gegevenstype toegewezen, maar meteen de waarde toegewezen als "Hallo", dus met behulp van de VarType-functie kunnen we het gegevenstype van de variabele vinden.

Open MSGBOX in VBA-codering in de bovenstaande code.

Open vervolgens de VarType-functie.

Voer nu de variabelenaam in als het argument van de VARTYPE-functie.

Code:

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

Voer nu de code uit en kijk wat we in het berichtvenster krijgen.

We hebben het resultaat als 8 omdat VBA bepaalde codes heeft voor elk type variabel gegevenstype, dus hieronder is de gedetailleerde lijst voor u.

WaardeConstanteOmschrijving
0vbLeegVariabele is nog niet geïnitialiseerd
1vbNullEr zijn geen geldige gegevens toegewezen
2vbGeheel getalDe variabele waarde is het gegevenstype "Geheel getal"
3vbLongDe variabele waarde is het gegevenstype "Lang"
4vbSingleDe variabele waarde is het gegevenstype "Single"
5vbDoubleDe variabele waarde is het gegevenstype "Dubbel"
6vbCurrencyDe variabele waarde is het gegevenstype "Valuta"
7vbDateDe variabele waarde is het gegevenstype "Datum"
8vbStringDe variabele waarde is het gegevenstype "String"
9vbObjectDe variabele waarde is het gegevenstype "Object"
10vbErrorDe variabele waarde is Error Value
11vbBooleanDe variabele waarde is het gegevenstype "Boolean"
12vbVariantDe waarde van de variabele is het gegevenstype 'Variant' (alleen gebruikt met arrays van varianten)
13vbDataObjectDe variabele waarde is het Data Access Object
14vbDecimalDe variabele waarde is het gegevenstype "Decimaal"
17vbByteDe variabele waarde is het gegevenstype "Byte"
20vbLongLongDe variabele waarde is het gegevenstype 'LONG LONG' (alleen geldig op 64-bits platforms)
36vbUserDefinedTypeVariabele waarde is het gegevenstype "Door gebruiker gedefinieerd"
8192vbArrayDe variabele waarde is Array

Ok, nu heeft onze code het variabele datatype opnieuw afgestemd op 8, dwz de variabelenaam "MyVar" bevat het gegevenstype "String".

Voorbeeld # 2

Kijk nu naar de onderstaande code.

Code:

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

Laten we deze code uitvoeren en kijken wat het resultaat is.

Het resultaat is 9 dwz variabele bevatte het gegevenstype "Object". Ja, dit is correct, want voor de variabele "MyVar" hebben we de werkboekreferentie van "This Workbook" ingesteld.

Voorbeeld # 3

Kijk nu naar de onderstaande code.

Code:

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

Dit retourneert het resultaat als 2.

Omdat het nummer 32500 dat aan de variabele is toegewezen een “Integer” -waarde is.

Nu zal ik de waarde veranderen in 40000 en het resultaat zien.

Code:

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

Dit geeft het resultaat als 3.

Omdat Integer-waarde eindigt op 32767, wordt alles daarboven behandeld als een VBA LONG-gegevenstype.

Nu zal ik het nummer tussen dubbele aanhalingstekens plaatsen.

Code:

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

Voer de code uit en bekijk het resultaat.

We kregen het resultaat als 8 ie String-gegevenstype.

Dit komt doordat alles dat tussen haakjes wordt opgegeven, wordt behandeld als een String-variabele.

Dingen om te onthouden

  • VARTYPE staat voor "Variable Type".
  • Het gegevenstype wordt vertegenwoordigd door unieke getallen, dus raadpleeg de tabel om te zien welk getal staat voor welk variabel gegevenstype.