VBA-variabeltyper - Hur man definierar variabel och tilldelar datatyp?

Innehållsförteckning

Excel VBA-variabeltyper

VBA-variabler är som en adress för lagring av data och data kan finnas i många former som numerisk eller sträng eller tecken etc. så hur vet en kod vilket värde eller data som ska lagras i vilken variabel, detta görs av olika variabeltyper eller även känd som datatyper som används för att lagra data enligt typ, till exempel kommer en strängvariabeltyp att lagra strängvärde medan en heltalstyp kommer att lagra ett heltalvärde och så vidare.

För att kunna koda effektivt är deklarering av variabler och tilldelning av datatyper till de deklarerade variablerna nyckeln till att gå långt i VBA-kodning. I den här artikeln visar vi vad variabler är, vilken datatyp är och hur man tilldelar en datatyp till dessa variabler.

Som namnet själv säger varierar variabeln från tid till annan, och vi lagrar något värde i dessa variabler. För att förstå detta bättre, låt oss komma ihåg våra "matematiska" klasser, där vi antar variabeln "x = något", så när vi använder variabeln "x" skulle den vara lika med det värde vi har tilldelat.

Vad är datatyp?

Datatypen är den begränsning som vi sätter på variabeln. Till exempel, för den deklarerade variabeln kan vi begränsa att endast hålla "Datumvärden", "Heltalsvärden", "Långa värden", "Strängvärde" etc. …

De datatyper som en variabel kan innehålla kallas ”Data Type” i VBA.

Det har många typer. Vid kodning är det viktigt att förstå vad varje datatyp kan innehålla. Vi kan klassificera datatyperna på två sätt, dvs.

# 1 - Icke-numeriska datatyper

Dessa datatyper kan endast innehålla icke-numeriska data. Dessa är vanliga icke-numeriska datatyper, dvs Sträng, Boolean, Variant, Objekt.

  • Sträng: Detta kan innehålla två typer av strängvärden, dvs. sträng med fast längd och sträng med variabel längd.
  • Boolean: Booleaner i VBA är logiska värden, dvs antingen SANT eller FALSKT.
  • Variant: Den kan innehålla både numeriska och icke-numeriska data.
  • Objekt: Objektvariabler är produkter från Microsoft. Exempelvis är excel objekt "Arbetsblad, arbetsbok, intervall". Microsoft-objekt är "MS Word, MS PowerPoint och MS Outlook."

# 2 - Numeriska datatyper

Dessa datatyper kan endast innehålla numeriska data. Nedan visas numeriska datatyper, dvs Byte, Heltal, Lång, Enkel, Dubbel, Datum, Valuta, Decimal.

  • Byte: Detta är en liten kapacitetsvariabel där den deklarerade variabeln kan innehålla värden från 0 till 255.
  • Heltal: Detta är den förbättrade versionen av Byte-datatypen. Detta kan innehålla värden från -32768 till 32768. Om några decimalvärden tilldelas konverteras det till närmaste heltal. Till exempel konverteras 5,55 till 6 och 5,49 omvandlas till 5.
  • Lång: Där heltaldatatyper begränsar värdet till 32768 LÅNG kan innehålla mycket långa siffror från -2,147,483,648 till 2147,483,648.
  • Enkel: Enstaka datatyp kan innehålla två decimaler -3.402823E + 38 till -1.401298E-45 för negativa värden och 1.401298E-45 till 3.402823E + 38 för positiva värden.
  • Dubbel: Dubbel datatyp kan innehålla mer än två decimaler, dvs. upp till 14 decimaler. -1,79769313486232e + 308 till -4,94065645841247E-324 för negativa värden och 4,94065645841247E-324 till 1,79769313486232e + 308 för positiva värden.
  • Datum: Denna datatyp kan bara innehålla DATE-värden.
  • Valuta: Denna datatyp kan innehålla värden från -922,337,203,685,477,5808 till 922,337,203,685,477,5807.
  • Decimal: Decimaldatatyper kan innehålla upp till 28 decimaler. Den kan hålla från +/- 79 228 162 514 264 337 593 553 950 335 om ingen decimal används +/- 7.9228162514264337593543950335.

Hur definierar jag variabler och tilldelar datatyp i VBA?

Det viktigaste att veta är att definiera variabeln under kodning. Vi kan definiera variabeltyperna på två olika sätt, dvs. implicit och explicit .

# 1 - Implicit

Vi kan deklarera VBA-variabeln implicit, dvs utan att använda DIM-ordet. Dim står för "Dimension." Titta till exempel på bilden nedan.

Koda:

Sub Data_Type () k = 45 End Sub

# 2 - Explicit

Detta är ett korrekt sätt att deklarera en variabel. Jag skulle kalla det ett officiellt och professionellt sätt. För att deklarera en variabel måste vi använda ordet "DIM" och tilldela variabeln en datatyp.

Koda:

Sub Data_Type () Dim k Som heltal k = 45 End Sub

Vi har definierat variabeln "k" som du kan se i bilden ovan och tilldelat datatypen "Integer."

Regler för att definiera variabel

  • Variabel kan inte innehålla något mellanslagstecken.
  • Variabeln bör inte innehålla några specialtecken utom “understrykning” (_)
  • Variabeln bör inte börja med numeriskt tecken.
  • Variabeln bör inte direkt innehålla några VBA-nyckelord.

Exempel

Exempel 1

För att definiera vilken variabel som helst måste vi först använda ordet ”Dim” och följt av ett variabelnamn.

Koda:

Sub Data_Type () Dim var End Sub

Därefter, när variabelnamnet ges, måste vi tilldela en datatyp. Som vi diskuterade ovan kan vi tilldela vilken datatyp som helst.

Koda:

Sub Data_Type () Dim var Som Integer End Sub

Jag har tilldelat datatypen som ett heltal. Så nu måste du komma ihåg begränsningarna för Integer-variabeln, dvs. den kan hålla värden mellan -32768 och 32768.

Koda:

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

I bilden ovan har jag tilldelat 25000, vilket är väl inom räckhåll, men när du anger värdet mer än gränsen kommer det att orsaka ett överflödsfel i VBA.

Koda:

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

Nu kan du köra den här koden med snabbtangenten F5 eller manuellt för att se resultatet.

Överflöd är inget annat än det tilldelade värdet för datatypen är mer än dess kapacitet.

Exempel 2

På samma sätt kan vi inte tilldela olika värden också. Vi kan till exempel inte tilldela värdet ”Sträng” till variabeln för heltaldatatyp. Om det tilldelas får vi "Type Mismatch Error."

Koda:

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

Kör nu den här koden genom genväg F5 eller manuellt för att se resultatet.

Saker att komma ihåg

  • Använd alltid DIM-ordet för att definiera variabeln.
  • Innan du tilldelar datatyp, se till vilken typ av data du ska lagra i den.
  • Att tilldela datatypen mer än kapacitetsvärdet orsakar överflödsfel, och tilldelning av ett annat värde till datatypen orsakar "Type Mismatch Error."

Intressanta artiklar...