VBA-variant

Excel VBA Variant Datatyp

Variantdatatyp i VBA är en universell datatyp som kan innehålla vilken typ av datatyp som helst, men när vi tilldelar datatypen måste vi använda ordet ”Variant”.

Vi vet alla hur viktiga variabler är i VBA-projekt. När variabeln deklareras måste vi tilldela en datatyp till deklarerade variablerna. Datatypstilldelning i VBA är beroende av vilken typ av data vi behöver tilldela de deklarerade variablerna.

För ett exempel, se nedanstående kod.

I ovanstående kod har jag förklarat variabeln som "IntegerNumber" och jag har tilldelat datatypen "Integer" .

Innan datatypen tilldelas variabeln bör jag vara medveten om variabelns begränsningar. Eftersom jag har tilldelat datatypen som heltal kan min variabel innehålla siffrorna från -32768 till 32767.

Något mer än gränsen för datatypsgränsen kommer att orsaka ett fel. Så om vi vill lagra mer än 32767-värde måste vi tilldela olika datatyper som kan innehålla mer än 32767.

För att övervinna denna begränsning har vi en universell datatyp "Variant". Den här artikeln visar den kompletta guiden för en variantdatatyp.

Hur deklarerar jag variantdatatyp?

Vi kan deklarera variantdatatypen som vanlig datatyp, men samtidigt som vi tilldelar datatypen måste vi använda ordet "Variant".

Koda:

 Sub Variant_Example1 () Dim MyNumber Som Variant End Sub 

Detta gör att variabeln kan arbeta med alla typer av data nu. Vi kan tilldela valfritt nummer, strängar, datum och många andra saker.

Nedan visas demonstrationen av detsamma.

Koda:

 Sub Variant_Example1 () Dimma Månadsnamn Som Variant Dim MyDate Som Variant Dim MyNumber Som Variant Dim MyName Som Variant MonthName = "Januari" MyDate = "24-04-2019" MyNumber = 4563 MyName = "Mitt namn är Excel VBA" Slut Sub 

I ovanstående har jag tilldelat ett datum till variabeln, nummer till variabeln, en sträng till variabeln. Så Variant-datatyp tillåter oss att inte oroa oss för vilken typ av data vi ska lagra eller tilldela den.

Så snart vi förklarar en variabel som Variant behöver vi inte oroa oss för vår datatyp någonstans mitt i projektet medan vi kodar. Detta gör att variabeln fungerar flexibelt efter våra behov. Förmodligen med en enda variabel kan vi utföra vår verksamhet i hela projektet.

VBA-varianten kräver inte något uttryckligt sätt

Den allmänna proceduren för att deklarera en VBA-variabel är att förnamna variabeln och sedan tilldela datatypen till den. Nedan följer ett exempel på detsamma.

Detta är det uttryckliga sättet att deklarera variabeln. Men när vi deklarerar datatypen Variant behöver vi inte deklarera dem uttryckligen, utan vi kan bara namnge variabeln och utelämna datatypsdelen.

Koda:

 Sub Variant_Example1 () Dim MyNumber End Sub 

I ovanstående kod har jag döpt variabeln till "MyNumber" men efter att ha döpt variabeln har jag inte tilldelat någon typ av datatyp till den.

Jag har utelämnat som [Data Type Name] -del eftersom det ögonblick som vi ignorerar datatypstilldelningsdelen alltid blir Variant.

Saker att komma ihåg

Även om datatypen "Variant" är flexibel med data som vi ska lagra är det inte den populära datatypen. Ser konstigt ut men helt sant. Såvida det inte finns någon specifik anledning att använda människor undviker att använda denna datatyp. Nedan följer några av anledningarna till att undvika att använda Variant.

  • Det ignorerar alla fel i datafel.
  • Variantdatatyp begränsar oss från att komma åt IntelliSense-listan.
  • VBA gissar alltid den bästa möjliga datatypen och tilldelar därefter.
  • När det gäller Integer-datatypgräns meddelar Variant-datatyp inte oss när det passerar 32767-gränser.