VBA-variant - Hoe variant-gegevenstype in Excel VBA declareren?

Excel VBA-variantgegevenstype

Variantgegevenstype in VBA is een universeel gegevenstype dat elk gegevenstype kan bevatten, maar bij het toewijzen van het gegevenstype moeten we het woord "Variant" gebruiken.

We weten allemaal hoe belangrijk variabelen zijn in VBA-projecten. Zodra de variabele is gedeclareerd, moeten we een gegevenstype toewijzen aan de gedeclareerde variabelen. De toewijzing van gegevenstypen in VBA is afhankelijk van het soort gegevens dat we moeten toewijzen aan de gedeclareerde variabelen.

Kijk bijvoorbeeld naar de onderstaande code.

In de bovenstaande code heb ik de variabele gedeclareerd als "IntegerNumber", en ik heb het gegevenstype toegewezen als "Integer".

Voordat ik het gegevenstype aan de variabele toewijs, moet ik me bewust zijn van de beperkingen van de variabele. Omdat ik het gegevenstype Integer heb toegewezen, kan mijn variabele de getallen van -32768 tot 32767 bevatten.

Alles wat meer is dan de limiet van de datatypelimiet, veroorzaakt een fout. Dus als we meer dan 32767-waarden willen opslaan, moeten we de verschillende gegevenstypen toewijzen, die meer dan 32767 kunnen bevatten.

Om deze beperking te omzeilen, hebben we een universeel gegevenstype 'Variant'. Dit artikel toont u de volledige gids van een variantgegevenstype.

Hoe een variantgegevenstype aangeven?

We kunnen het variantgegevenstype declareren als het gebruikelijke gegevenstype, maar bij het toewijzen van het gegevenstype moeten we het woord 'Variant' gebruiken.

Code:

Sub Variant_Example1 () Dim MyNumber As Variant End Sub

Dit zorgt ervoor dat de variabele nu met elke soort gegevens werkt. We kunnen alle nummers, tekenreeksen, datums en vele andere dingen toewijzen.

Hieronder is de demonstratie van hetzelfde.

Code:

 Sub Variant_Example1 () Dim MonthName As Variant Dim MyDate As Variant Dim MyNumber As Variant Dim MyName As Variant MonthName = "January" MyDate = "24-04-2019" MyNumber = 4563 MyName = "Mijn naam is Excel VBA" End Sub

In het bovenstaande heb ik een datum aan de variabele toegewezen, een getal aan de variabele, een string aan de variabele. Met het gegevenstype Variant hoeven we ons dus geen zorgen te maken over wat voor soort gegevens we gaan opslaan of eraan toewijzen.

Zodra we een variabele declareren als Variant, hoeven we ons tijdens het coderen geen zorgen te maken over ons datatype ergens in het midden van het project. Dit maakt de variabele om flexibel naar onze behoeften te werken. Waarschijnlijk kunnen we met één enkele variabele onze operaties in het hele project uitvoeren.

VBA-variant vereist geen expliciete manier

De algemene procedure om een ​​VBA-variabele te declareren, is door de variabele eerst een naam te geven en vervolgens het gegevenstype eraan toe te wijzen. Hieronder ziet u een voorbeeld van hetzelfde.

Dit is de expliciete manier om de variabele te declareren. Wanneer we echter het gegevenstype Variant declareren, hoeven we deze niet expliciet te declareren; in plaats daarvan kunnen we de variabele een naam geven en het datatype-gedeelte weglaten.

Code:

Sub Variant_Example1 () Dim MyNumber End Sub

In de bovenstaande code heb ik de variabele 'MyNumber' genoemd, maar nadat ik de variabele een naam heb gegeven, heb ik er geen enkel gegevenstype aan toegewezen.

Ik heb het gedeelte As (gegevenstype naam) weggelaten omdat op het moment dat we het toewijzingsgedeelte van het gegevenstype negeren, de variabele onveranderlijk Variant wordt.

Dingen om te onthouden

Hoewel het gegevenstype "Variant" flexibel is met gegevens die we gaan opslaan, is dit niet het populaire gegevenstype. Ziet er vreemd uit, maar absoluut WAAR. Tenzij er een specifieke reden is om mensen te gebruiken, vermijdt u het gebruik van dit gegevenstype. Hieronder staan ​​enkele redenen om het gebruik van Variant te vermijden.

  • Het negeert alle fouten met niet-overeenkomende gegevens.
  • Variant-gegevenstype beperkt ons van toegang tot de IntelliSense-lijst.
  • VBA raadt altijd het best mogelijke gegevenstype en wijst het dienovereenkomstig toe.
  • In het geval van de gegevenstypelimiet Geheel getal, stelt het gegevenstype Variant ons niet op de hoogte wanneer het de 32767-limieten overschrijdt.

Interessante artikelen...