VBA-variabler, datatyper och konstanter i Excel

⚡ Smart sammanfattning

VBA-variabler, datatyper och konstanter i Excel lagrar och märker de värden som ett program arbetar med. Den här sidan förklarar namngivningsregler för variabler, implicit och explicit deklaration med Dim, numeriska och icke-numeriska datatyper och hur man deklarerar en konstant med Const.

  • 📦 Variabel: Ett namngivet värde som lagras i minnet som koden lagrar och senare läser tillbaka.
  • 🔤 Namnregler: Ett namn är kortare än 255 tecken, innehåller inga mellanslag, börjar inte med en siffra och innehåller ingen punkt.
  • ✍️ Deklaration: Nyckelordet Dim deklarerar en variabel explicit, till exempel Dim Num As Integer.
  • 🔢 Numeriska typer: Byte, heltal, långt, singel, Double, Valuta och Decimaltal skiljer sig åt i lagring och intervall.
  • 🔠 Icke-numeriska typer: Sträng, Boolean, Datum, Objekt och Variant innehåller text, sant eller falskt, datum och objekt.
  • 🔒 Konstant: Nyckelordet Const deklarerar ett värde som inte kan ändras, till exempel Const DaysInYear = 365.

VBA-variabler, datatyper och konstanter i Excel

Variabler används i nästan alla datorprogram och VBA är inte annorlunda. Det är en god praxis att deklarera en variabel i början av proceduren. Det är inte nödvändigt, men det hjälper till att identifiera innehållets karaktär (text, data, siffror, etc.)

VBA-variabler

Variabler är specifika värden som lagras i ett datorminne eller lagringssystem. Later, kan du använda det värdet i kod och köra. Datorn kommer att hämta det värdet från systemet och visas i utgången. Var och en av Excel VBA-variabeltyperna måste ges ett namn.

För att namnge variabeln i VBA måste du följa följande regler.

  • Det måste vara mindre än 255 tecken
  • Inget mellanrum tillåts
  • Det får inte börja med en siffra
  • Period är inte tillåten

Här är några exempel på giltiga och ogiltiga namn för variabler i VBA.

VBA-variabler Giltiga namn VBA-variabler Ogiltiga namn
Min klocka Min klocka
Ny bil1 1_NewCar (börja inte med nummer)
Anställnings-ID Anställds ID (utrymme ej tillåtet)

In VBAmåste vi deklarera variablerna innan vi använder dem genom att tilldela namn och datatyp.

I VBA deklareras variabler antingen implicit eller explicit.

  • Implicit: Nedan är ett exempel på en variabel som deklareras implicit.
  • label=guru99
  • volym=4
  • Explicit: Nedan är ett exempel på variabel deklarerad explicit. Du kan använda nyckelordet "Dim" i syntaxen
  • Dim Num Som heltal
  • Dim lösenord som sträng

VBA-variabeln skiljer sig inte från andra programmeringsspråk. För att deklarera en variabel i VBA använder du nyckelordet "Dämpa."

Syntax för VBA-variabel,

För att deklarera en variabel i VBA, skriv Dim följt av ett namn:

Sub Exercise ()
        Dim <name>
End Sub

Innan vi exekverar variablerna måste vi registrera a makro i Excel. För att spela in ett makro gör följande –

Steg 1): Spela in makrot 1

Steg 2) : Stoppa makro 1

Steg 3): Öppna makroredigeraren, ange koden för variabeln i Macro1

Steg 4): Kör koden för Macro 1

Exempel, för VBA-variabel

Sub Macro1()
	Dim Num As Integer
	Num = 99
	MsgBox " Guru " & Num
End Sub

När du kör den här koden får du följande utdata i ditt ark.

VBA-variabler

Excel VBA-datatyper

Datorn kan inte skilja mellan siffrorna (1,2,3..) och strängar (a,b,c,..). För att göra denna differentiering använder vi Datatyper.

VBA-datatyper kan delas upp i två typer

  • Numeriska datatyper
Typ lagring Utbud av värden
Byte 1 byte 0 till 255
Heltal 2 bitgrupper -32,768 till 32,767
Lång 4 bitgrupper -2,147,483,648 till 2,147,483,648
Single 4 bitgrupper -3.402823E+38 till -1.401298E-45 för negativa värden 1.401298E-45 till 3.402823E+38 för positiva värden.
Double 8 bitgrupper -1.79769313486232e+308 till -4.94065645841247E-324 för negativa värden
4.94065645841247E-324 till 1.79769313486232e+308 för positiva värden.
Valuta 8 bitgrupper -922,337,203,685,477.5808 till 922,337,203,685,477.5807
Decimal 12 bitgrupper +/- 79,228,162,514,264,337,593,543,950,335 om ingen decimal är använd +/- 7.9228162514264337593543950335 (28 decimaler)
  • Icke-numeriska datatyper
Data typ Använda byte Utbud av värden
Sträng (fast längd) Snörets längd 1 till 65,400 tecken
Sträng (variabel längd) Längd + 10 byte 0 till 2 miljarder tecken
Boolean 2 bitgrupper Sant eller falskt
Datum 8 bitgrupper 1 januari 100 till 31 december 9999
Ändamålet 4 bitgrupper Alla inbäddade objekt
Variant (numerisk) 16 bitgrupper Vilket värde som helst så stort som Double
Variant(text) Längd+22 byte Samma som sträng med variabel längd

I VBA, om datatypen inte är specificerad, kommer den automatiskt att deklarera variabeln som en variant.

Låt oss se ett exempel på hur man deklarerar variabler i VBA. I det här exemplet kommer vi att deklarera tre typer av variabler sträng, sammanfogningsdatum och valuta.

Steg 1) Precis som i föregående handledning kommer vi att infoga kommandoknappen1 i vår exelblad.

Excel VBA-datatyper

Steg 2) I nästa steg högerklickar du på knappen och väljer Visa kod. Det öppnar kodfönstret som visas nedan.

Excel VBA-datatyper

Steg 3) I detta steg

  • Spara din fil genom att klicka på knappen Spara Excel VBA-datatyper
  • Klicka sedan på Excel-ikonen Excel VBA-datatyper i samma fönster för att returnera Excel-arket.
  • Du kan se att designläget är "på" markerat i grönt

Excel VBA-datatyper

Steg 4) Stäng av designläget innan du klickar på kommandoknappen

Excel VBA-datatyper

Steg 5) Efter att ha stängt av designläget klickar du på kommandoknapp1. Den kommer att visa följande variabel som en utdata för intervallet vi deklarerade i koden.

  • Namn
  • Inträdesdatum
  • Inkomst i valuta

Excel VBA-datatyper

Konstant i VBA

Konstant är som en variabel, men du kan inte ändra den. För att deklarera VBA-konstanter kan du använda nyckelord const.

Det finns två typer av konstanter,

  • Inbyggd eller inneboende tillhandahållen av applikationen.
  • Symbolisk eller användardefinierad

Du kan antingen ange omfattningen som privat som standard eller allmän. Till exempel,

Public Const DaysInYear=365

Privatkonst Arbetsdagar=250

Ladda ner Excel som innehåller ovanstående kod

Ladda ner ovanstående Excel-fil Code

Variabel omfattning och explicit option

Var en variabel deklareras avgör var den kan användas, och en liten inställning högst upp i en modul förhindrar de flesta typer av ...ping misstag. Att förstå båda gör att ett växande program håller sig tillförlitligt.

Nyckelord Omfattning Livslängd
Dimma (inuti en sub) Endast det förfarande som det deklareras i Återställs varje gång proceduren körs
Statisk Endast proceduren, men värdet bibehålls Minnes mellan samtal
Privat (högst upp på modulen) Varje procedur i den modulen Lever medan arbetsboken är öppen
Offentlig (högst upp i modulen) Varje modul i projektet Lever medan arbetsboken är öppen

💡 Tips: Typ Explicit alternativ som första raden i varje modul. Den tvingar varje variabel att deklareras med Dim, så ett felstavat namn upptäcks vid kompilering istället för att en ny tom variant skapas i tysthet.

Vanliga frågor

En variabel har ett värde som koden kan ändra medan den körs. En konstant har ett värde som är fast med Cont och inte kan ändras. Använd en konstant för ett värde som aldrig varierar, till exempel en skattesats.

Heltal innehåller bara värden från -32 768 till 32 767, så ett radantal eller ett stort tal överskrider det. Long innehåller betydligt större värden, och Microsoft rekommenderar nu Long för heltal i modern VBA.

Variant är standardtypen när ingen anges. Den kan innehålla ett tal, text, ett datum eller ett objekt, vilket är flexibelt men använder mer minne och körs långsammare. Deklarera en specifik typ där det är möjligt.

Ja. AI-kodassistenter läser hur en variabel används och föreslår en lämplig typ, till exempel Long för en räknare eller String för text. Utvecklaren bekräftar valet och lägger till Option Explicit.

Ja. AI-assistenter flaggar en felstavad eller odeklarerad variabel, förklarar varför Option Explicit rapporterar den och föreslår korrekt deklaration. Utvecklaren tillämpar korrigeringen och kompilerar om modulen.

Sammanfatta detta inlägg med: