VBA-datatyp - Hur deklarerar och tilldelar datatyper?

Innehållsförteckning

VBA-datatyp

Datatyp är kärnkaraktären för vilken variabel som helst, den representerar vilken typ av värde vi kan lagra i variabeln och vad är gränsen eller värdet som kan lagras i variabeln, datatyper är inbyggda VBA och användare eller utvecklare måste vara medveten om vilken typ av värde som kan lagras i vilken datatyp. Datatyper som tilldelas variabler berättar kompilatorns lagringsstorlek för variabeln.

I VBA har vi två typer av datatyper, dvs. numeriska och icke-numeriska.

Innan vi tilldelar någon datatyp måste vi först deklarera variabelnamnet. Variabel är ett namn som innehåller värdet genom den tilldelade datatypen. Samtidigt som vi ger ett variabelnamn måste vi komma ihåg några saker.

Vi kan definiera variabeln på två sätt. En är "implicit" och en annan är "explicit."

  • Det implicita sättet att definiera en variabel är utan att använda ordet "DIM" och datatyp till den. Exempelvis MyValue = 500 är den implicita sätt att förklara en variabel.
  • Ett uttryckligt sätt att definiera en variabel är med ordet "DIM" och den datatyp som är associerad med den. Till exempel Dim MyValue som heltal .

Topp 2 typer av datatyper

För att tilldela datatypen till variabeln först måste vi förstå typerna av datatyper. För att förstå bättre kan vi kategorisera i två plattor.

# 1 - Numeriska datatyper

Dessa kan bara innehålla numeriska värden. De vanligaste numeriska datatyperna är Byte, Integer, Long, Single, Double, Currency och Decimal.

Var och en av datatyperna kan hålla sina respektive värden. Nedan följer en detaljerad förklaring.

  • En byte kan innehålla värdena från 0 till 255. Den kan inte innehålla mer än 255.
  • Heltal kan innehålla värden från -32768 till 32768. Det kan inte innehålla några decimaltal.
  • Lång kan hålla värden från -2,147,483,648 till 2,147,483,648.
  • Den enskilda datatypen kan innehålla värden endast upp till 7 siffror, till exempel 1234567, 1.245564.
  • Den dubbla datatypen kan innehålla värden upp till 15 siffror. Det är bara utvidgningen av datatypen Single.
  • Valutadatatypen kan innehålla 15 siffror före decimalvärdet och innehålla 4 siffror efter decimaltalet.
  • Datatypen för decimaler kan rymma upp till 28 decimaler. Om du vill lagra mer än 15 decimaler kan du använda den här datatypen.

# 2 - Icke-numeriska datatyper

Dessa datatyper kan innehålla värden på allt annat än numeriska värden. Ofta används icke-numeriska datatyper är Variant , String, Boolean, Date, Object.

  • Sträng: Det finns två typer av strängdatatyper. En som kan innehålla numeriska data och en annan som kan innehålla icke-numeriska data.
  • Sträng Fast längd kan innehålla tecken från 1 till 65400 tecken.
  • Sträng Variabel längd kan innehålla tecken från 0 till 2 miljarder tecken.
  • Boolean kan innehålla logiska resultatvärden, dvs. SANT eller FALSKT.
  • Ett datum kan bara innehålla datumvärden från 1 januari 100 till 31 december 9999
  • Motverka det kan bara innehålla objekt från Microsoft-produkten. Till exempel kalkylblad, arbetsbok, intervall, PowerPoint, Word.
  • En variant har också två datatyper, dvs. text och numerisk.
  • Varianttext kan innehålla textvärden samma som variabeln Strängvariabel längd.
  • Variant Numerisk kan innehålla numeriska värden samma som datatypen Dubbel.

Exempel på olika VBA-datatyper

Till exempel, för att tilldela en datatyp först måste vi deklarera en variabel med ordet " Dim."

Koda:

Sub DT_Example1 () Dim k End Sub

Nu använder vi ordet "As", och vi måste tilldela datatypen. Nu tilldelar jag datatypen " Byte."

Koda:

Sub DT_Example1 () Dim k Som byte End Sub

Som vi vet kan Byte-datatypen innehålla värdena från 0 till 255. Men för att testa kommer jag att tilldela ett värde på mer än 255.

Koda:

Sub DT_Exempel1 () Dim k som byte k = 260 Avsluta sub

Om jag kör den här koden får vi felet som "Over Flow".

På samma sätt kan andra datatyper också innehålla värden enligt deras gränser.

Ta nu en titt på koden nedan.

Koda:

Sub DT_Example2 () Dim k As Boolean k = 100 MsgBox k End Sub

Datatypen tilldelas som "Boolean", som antingen innehåller SANT eller FALSKT. Men jag har tilldelat värdet som "100" till variabeln "k."

Kör den här koden och se vad som händer.

Vi fick resultatet som ” sant”.

Anledningen till att vi fick SANT eftersom excel behandlar något mer än 0 som SANT och behandlar 0 som FALSE.

Nu kommer jag att tilldela icke-numeriskt värde och se vad som händer.

Vi fick felet eftersom ”Boolean” inte kan acceptera andra textvärden än SANT eller FALSKT.

Intressanta artiklar...