VBA VARTYPE-functie - Hoe het gegevenstype van een variabele te vinden?

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 in de uitvoer retourneert het 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 gegevenstype of het soort gegevens dat aan de variabele is toegewezen, kunt vinden, dan hebben we hier een VBA-functie 'VarType'.

Voorbeelden

Voorbeeld 1

In VBA declareren we tijdens het schrijven van de code meestal variabelen en wijzen we er een gegevenstype aan toe. Kijk bijvoorbeeld 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 wijzen, 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.

Waarde Constante Omschrijving
0 vbLeeg Variabele is nog niet geïnitialiseerd
1 vbNull Er zijn geen geldige gegevens toegewezen
2 vbGeheel getal De variabele waarde is het gegevenstype "Geheel getal"
3 vbLong De variabele waarde is het gegevenstype "Lang"
4 vbSingle De waarde van de variabele is het gegevenstype "Single"
5 vbDouble De variabele waarde is het gegevenstype "Dubbel"
6 vbCurrency De variabele waarde is het gegevenstype "Valuta"
7 vbDate De variabele waarde is het gegevenstype "Datum"
8 vbString De variabele waarde is het gegevenstype "String"
9 vbObject De variabele waarde is het gegevenstype "Object"
10 vbError De variabele waarde is Error Value
11 vbBoolean De variabele waarde is het gegevenstype "Boolean"
12 vbVariant De waarde van de variabele is het gegevenstype 'Variant' (alleen gebruikt met arrays van varianten)
13 vbDataObject De variabele waarde is het Data Access Object
14 vbDecimal De variabele waarde is het gegevenstype "Decimaal"
17 vbByte De variabele waarde is het gegevenstype "Byte"
20 vbLongLong De variabele waarde is het gegevenstype 'LONG LONG' (alleen geldig op 64-bits platforms)
36 vbUserDefinedType De variabele waarde is het gegevenstype "Door gebruiker gedefinieerd"
8192 vbArray De variabele waarde is Array.

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

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 de variabele bevatte het gegevenstype "Object". Ja, dit is correct omdat we voor de variabele "MyVar" de werkmapreferentie "This Workbook" hebben 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 "geheel getal" 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 hebben het resultaat als 8, dwz String-gegevenstype.

Dit komt doordat alles dat tussen haakjes wordt opgegeven, wordt behandeld als een tekenreeksvariabele.

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.

Interessante artikelen...