VBA-variabeletypen - Hoe variabele definiëren en gegevenstype toewijzen?

Excel VBA-variabeletypen

VBA-variabelen zijn als een adres voor opslag van gegevens en gegevens kunnen in vele vormen zijn, zoals numeriek of tekenreeks of tekens enz. Dus hoe weet een code welke waarde of gegevens moeten worden opgeslagen in welke variabele, dit wordt gedaan door verschillende typen variabelen of ook bekend als gegevenstypen die worden gebruikt om de gegevens per type op te slaan, een stringvariabele type slaat bijvoorbeeld een stringwaarde op, terwijl een integer-gegevenstype een integerwaarde opslaat, enzovoort.

Om efficiënt te coderen, zijn het declareren van variabelen en het toewijzen van gegevenstypen aan die gedeclareerde variabelen essentieel om een ​​lange weg te gaan in VBA-codering. In dit artikel laten we u zien wat variabelen zijn, welk gegevenstype is en hoe u een gegevenstype aan die variabelen kunt toewijzen.

Zoals de naam zelf zegt, zal de variabele van tijd tot tijd variëren, en we slaan wat waarde op in die variabelen. Laten we, om dit beter te begrijpen, onze "wiskundige" klassen onthouden, waarbij we aannemen dat de variabele "x = iets" is, dus wanneer we de variabele "x" gebruiken, is deze gelijk aan de waarde die we hebben toegewezen.

Wat is datatype?

Het gegevenstype is de beperking die we de variabele in de wacht zetten. Voor de gedeclareerde variabele kunnen we bijvoorbeeld beperken om alleen "Datumwaarden", "Integer-waarden", "Lange waarden", "Stringwaarde" enz. Vast te houden.

De soorten gegevens die een variabele kan bevatten, worden in VBA "gegevenstype" genoemd.

Het heeft veel soorten. Bij het coderen is het belangrijk om te begrijpen wat elk gegevenstype kan bevatten. We kunnen de gegevenstypen op twee manieren classificeren, namelijk

# 1 - Niet-numerieke gegevenstypen

Deze gegevenstypen kunnen alleen niet-numerieke gegevens bevatten. Dit zijn veelgebruikte niet-numerieke gegevenstypen, dwz String, Boolean, Variant, Object.

  • String: Dit kan twee soorten stringwaarden bevatten, namelijk String met vaste lengte en string met variabele lengte.
  • Boolean: Booleans in VBA zijn logische waarden, dwz TRUE of FALSE.
  • Variant: Het kan zowel numerieke als niet-numerieke gegevens bevatten.
  • Object: Objectvariabelen zijn producten van Microsoft. In Excel zijn objecten bijvoorbeeld 'Werkblad, Werkmap, Bereik'. Microsoft-objecten zijn 'MS Word, MS PowerPoint en MS Outlook'.

# 2 - Numerieke gegevenstypen

Deze gegevenstypen kunnen alleen numerieke gegevens bevatten. Hieronder staan ​​numerieke gegevenstypen, dwz byte, geheel getal, lang, enkel, dubbel, datum, valuta, decimaal.

  • Byte: dit is een kleine capaciteitsvariabele waarbij de gedeclareerde variabele waarden van 0 tot 255 kan bevatten.
  • Geheel getal: dit is de verbeterde versie van het gegevenstype Byte. Dit kan waarden van -32768 tot 32768 bevatten. Als er decimale waarden zijn toegewezen, wordt deze geconverteerd naar de dichtstbijzijnde gehele waarde. 5,55 wordt bijvoorbeeld geconverteerd naar 6 en 5,49 wordt geconverteerd naar 5.
  • Lang: waarbij integer-gegevenstypen de waarde ervan beperken tot 32768 LONG kan zeer lange getallen bevatten van -2.147.483.648 tot 2.147.483.648.
  • Eén: één gegevenstype kan twee decimalen bevatten -3.402823E + 38 tot -1.401298E-45 voor negatieve waarden en 1.401298E-45 tot 3.402823E + 38 voor positieve waarden.
  • Dubbel: het gegevenstype Dubbel kan meer dan twee decimalen bevatten, dwz tot 14 decimalen. -1.79769313486232e + 308 tot -4.94065645841247E-324 voor negatieve waarden en 4.94065645841247E-324 tot 1.79769313486232e + 308 voor positieve waarden.
  • Datum: dit gegevenstype kan alleen DATE-waarden bevatten.
  • Valuta: dit gegevenstype kan waarden bevatten van -922.337.203.685.477,5808 tot 922.337.203.685.477,5807.
  • Decimaal: decimale gegevenstypen kunnen maximaal 28 decimalen bevatten. Het kan +/- 79.228.162.514.264.337.593.543.950.335 bevatten als er geen decimaal wordt gebruikt +/- 7,9228162514264337593543950335.

Hoe variabele definiëren en gegevenstype toewijzen in VBA?

Het belangrijkste dat u moet weten, is om de variabele tijdens het coderen te definiëren. We kunnen de variabeletypen op twee verschillende manieren definiëren, namelijk impliciet en expliciet .

# 1 - Impliciet

We kunnen de VBA-variabele impliciet declareren, dwz zonder het woord "DIM" te gebruiken. Dim staat voor 'Dimension'. Kijk bijvoorbeeld naar de onderstaande afbeelding.

Code:

Sub Data_Type () k = 45 End Sub

# 2 - Expliciet

Dit is een goede manier om een ​​variabele te declareren. Ik zou het een officiële en professionele manier noemen. Om een ​​variabele te declareren, moeten we het woord "DIM" gebruiken en een gegevenstype aan de variabele toewijzen.

Code:

Sub Data_Type () Dim k As Integer k = 45 End Sub

We hebben de variabele 'k' gedefinieerd zoals u kunt zien in de bovenstaande afbeelding en hebben het gegevenstype 'Geheel getal' toegewezen.

Regels om variabele te definiëren

  • Variabele mag geen spatie bevatten.
  • De variabele mag geen speciale tekens bevatten behalve "onderstrepingsteken" (_)
  • De variabele mag niet beginnen met een numeriek teken.
  • De variabele mag niet rechtstreeks VBA-trefwoorden bevatten.

Voorbeelden

Voorbeeld 1

Om een ​​variabele te definiëren, moeten we eerst het woord "Dim" gebruiken en gevolgd door een variabelenaam.

Code:

Sub Data_Type () Dim var End Sub

Zodra de variabelenaam is opgegeven, moeten we vervolgens een gegevenstype toewijzen. Zoals we hierboven hebben besproken, kunnen we elk gegevenstype toewijzen.

Code:

Sub Data_Type () Dim var As Integer End Sub

Ik heb het gegevenstype als een geheel getal toegewezen. Dus nu moet u de beperkingen van de Integer-variabele onthouden, dwz het kan waarden tussen -32768 en 32768 bevatten.

Code:

Sub Data_Type () Dim var As Integer var = 25000 End Sub

In de bovenstaande afbeelding heb ik 25000 toegewezen, wat goed binnen handbereik is, maar op het moment dat je de waarde meer dan de limiet invoert, zal dit een overloopfout veroorzaken in VBA.

Code:

Sub Data_Type () Dim var As Integer var = 35000 End Sub

Nu kunt u deze code uitvoeren met sneltoets F5 of handmatig om het resultaat te zien.

Overflow is niets anders dan de toegekende waarde van het gegevenstype is meer dan de capaciteit.

Voorbeeld 2

Evenzo kunnen we ook geen verschillende waarden toewijzen. We kunnen bijvoorbeeld de "String" -waarde niet toewijzen aan de integer-gegevenstypevariabele. Indien toegewezen, krijgen we 'Fout type komt niet overeen'.

Code:

Sub Data_Type1 () Dim var As Integer var = "Hii" End Sub

Voer deze code nu uit via sneltoets F5 of handmatig om het resultaat te zien.

Dingen om te onthouden

  • Gebruik altijd het DIM-woord om de variabele te definiëren.
  • Voordat u een gegevenstype toewijst, moet u controleren wat voor soort gegevens u erin gaat opslaan.
  • Het toewijzen van meer dan de capaciteitswaarde aan het gegevenstype veroorzaakt een overloopfout, en het toewijzen van een andere waarde aan het gegevenstype veroorzaakt 'Type Mismatch Error'.

Interessante artikelen...