VBA-datatype
Datatype er kernekarakteren for enhver variabel, den repræsenterer, hvilken type værdi vi kan gemme i variablen, og hvad er grænsen eller rækkevidden af værdier, der kan lagres i variablen, datatyper er indbygget VBA og bruger eller udvikler skal være opmærksom på, hvilken type værdi der kan gemmes i hvilken datatype. Datatyper, der tildeles variabler, fortæller variabelens kompilatorlagringsstørrelse.
I VBA har vi to typer datatyper, dvs. numeriske og ikke-numeriske.
Før vi tildeler en datatype, skal vi først erklære variabelnavnet. Variabel er et navn, der indeholder værdien gennem den tildelte datatype. Mens vi giver variablen et navn, skal vi huske på et par ting.
Vi kan definere variablen på to måder. Den ene er "implicit", og en anden er "eksplicit."
- Den implicitte måde at definere en variabel på er uden at bruge ordet "DIM" og datatype til den. For eksempel er MyValue = 500 den implicitte måde at erklære en variabel på.
- En eksplicit måde at definere en variabel på er med ordet "DIM" og den datatype, der er knyttet til den. For eksempel Dim MyValue som Integer .

Top 2 typer datatyper
For at tildele datatypen til variablen først skal vi forstå typerne af datatyper. For at forstå bedre kan vi kategorisere i to plader.
# 1 - Numeriske datatyper
Disse kan kun indeholde numeriske værdier. De mest almindelige numeriske datatyper er Byte, Heltal, Lang, Enkelt, Dobbelt, Valuta og Decimal.
Hver af datatyperne kan indeholde deres respektive værdier. Nedenfor er en detaljeret forklaring.
- En byte kan holde værdierne fra 0 til 255. Den kan ikke rumme mere end 255.
- Heltal kan holde værdier fra -32768 til 32768. Det kan ikke indeholde decimaltal.
- Lang kan holde værdier fra -2,147,483,648 til 2,147,483,648.
- Den enkelte datatype kan kun indeholde værdier op til 7 cifre, for eksempel 1234567, 1.245564.
- Den dobbelte datatype kan indeholde værdier op til 15 cifre. Det er bare udvidelsen af datatypen Single.
- Valutadatatypen kan indeholde 15 cifre før decimalværdien og holde 4 cifre efter decimalværdien.
- Datatypen for decimaler kan rumme op til 28 decimaler. Hvis du ønsker at gemme mere end 15 decimaler, kan du bruge denne datatype.
# 2 - Ikke-numeriske datatyper
Disse datatyper kan indeholde værdier af andet end numeriske værdier. Ofte anvendte ikke-numeriske datatyper er Variant , String, Boolean, Date, Object.
- Streng: Der er to typer strengdatatyper. En, der kan indeholde numeriske data, og en anden, der kan indeholde ikke-numeriske data.
- Streng Fast længde kan indeholde tegn fra 1 til 65400 tegn.
- Streng Variabel længde kan indeholde tegn fra 0 til 2 milliarder tegn.
- Boolsk kan indeholde logiske resultatværdier, dvs. SAND eller FALSK.
- En dato kan kun indeholde datoværdier fra 1. januar 100 til 31. december 9999
- Indvende det kan kun indeholde genstande fra Microsoft-produkt. For eksempel regneark, projektmappe, rækkevidde, PowerPoint, Word.
- En variant har også to datatyper, dvs. tekst og numerisk.
- Varianttekst kan holde tekstværdier de samme som variablen Strengvariabel længde.
- Variant Numerisk kan indeholde numeriske værdier det samme som datatypen Dobbelt.
Eksempler til brug af forskellige VBA-datatyper
For eksempel for at tildele en datatype først skal vi erklære en variabel ved hjælp af ordet " Dim."
Kode:
Sub DT_Example1 () Dim k End Sub
Nu bruger vi ordet "As", og vi skal tildele datatypen. Nu tildeler jeg datatypen som " Byte."
Kode:
Sub DT_Example1 () Dim k Som Byte End Sub
Som vi ved, kan Byte-datatypen indeholde værdierne fra 0 til 255. Men for at teste vil jeg tildele en værdi på mere end 255.
Kode:
Sub DT_Example1 () Dim k As Byte k = 260 End Sub
Nu, hvis jeg kører denne kode, får vi fejlen som "Over Flow."

Tilsvarende kan andre datatyper også indeholde værdier i henhold til deres grænser.
Se nu på nedenstående kode.
Kode:
Sub DT_Example2 () Dim k As Boolean k = 100 MsgBox k End Sub
Datatypen er tildelt som "boolsk", som indeholder enten SAND eller FALSK. Men jeg har tildelt værdien som "100" til variablen "k."
Kør denne kode og se hvad der sker.

Vi fik resultatet som ” Sandt”.
Årsagen til, at vi blev SAND, fordi excel behandler noget mere end 0 som SAND og behandler 0 som FALSK.
Nu tildeler jeg ikke-numerisk værdi og ser hvad der sker.

Vi fik fejlen, fordi "boolsk" ikke kan acceptere andre tekstværdier end SAND eller FALSK.