VBA-variabler, datatyper og konstanter i Excel

⚡ Smart oppsummering

VBA-variabler, datatyper og konstanter i Excel lagrer og merker verdiene et program arbeider med. Denne siden forklarer navngivningsregler for variabler, implisitt og eksplisitt deklarasjon med Dim, de numeriske og ikke-numeriske datatypene, og hvordan du deklarerer en konstant med Const.

  • 📦 variabel: En navngitt verdi som lagres i minnet som koden lagrer og senere leser tilbake.
  • 🔤 Navneregler: Et navn er under 255 tegn, har ingen mellomrom, starter ikke med et tall og inneholder ikke punktum.
  • ✍️ Erklæring: Dim-nøkkelordet deklarerer en variabel eksplisitt, for eksempel Dim Num As Integer.
  • 🔢 Numeriske typer: Byte, heltall, lang, enkelt, Double, Valuta og Desimal varierer i lagring og rekkevidde.
  • 🔠 Ikke-numeriske typer: Streng, boolsk verdi, dato, objekt og variant inneholder tekst, sann eller usann, datoer og objekter.
  • 🔒 Konstant: Nøkkelordet Const deklarerer en verdi som ikke kan endres, for eksempel Const DaysInYear = 365.

VBA-variabler, datatyper og konstanter i Excel

Variabler brukes i nesten alle dataprogrammer og VBA er ikke annerledes. Det er en god praksis å deklarere en variabel i begynnelsen av prosedyren. Det er ikke nødvendig, men det hjelper å identifisere innholdet (tekst, data, tall osv.)

VBA-variabler

Variabler er spesifikke verdier som er lagret i et datamaskinminne eller et lagringssystem. Later, kan du bruke den verdien i kode og kjøre. Datamaskinen vil hente den verdien fra systemet og vises i utdataene. Hver av Excel VBA-variabeltypene må gis et navn.

For å navngi variabelen i VBA, må du følge følgende regler.

  • Det må være mindre enn 255 tegn
  • Ingen mellomrom er tillatt
  • Det må ikke begynne med et tall
  • Periode er ikke tillatt

Her er noen eksempler på gyldige og ugyldige navn for variabler i VBA.

VBA-variabler Gyldige navn VBA-variabler Ugyldige navn
Min_klokke Min.klokke
Ny bil 1 1_NewCar (begynner ikke med nummer)
Ansatt ID Ansatt-ID (plass ikke tillatt)

In VBA, må vi deklarere variablene før vi bruker dem ved å tildele navn og datatype.

I VBA er variabler enten deklarert implisitt eller eksplisitt.

  • Implisitt: Nedenfor er et eksempel på en variabel deklarert implisitt.
  • label=guru99
  • volum=4
  • eksplisitt: Nedenfor er et eksempel på variabel deklarert eksplisitt. Du kan bruke "Dim" nøkkelord i syntaks
  • Dim Tall som heltall
  • Dim passord som streng

VBA-variabel er ikke annerledes enn andre programmeringsspråk. For å deklarere en variabel i VBA bruker du nøkkelordet "Dim."

Syntaks for VBA-variabel,

For å erklære en variabel i VBA, skriv Dim etterfulgt av et navn:

Sub Exercise ()
        Dim <name>
End Sub

Før vi utfører variablene må vi registrere en makro i Excel. For å ta opp en makro gjør følgende –

Trinn 1): Ta opp makroen 1

Trinn 2) : Stopp makro 1

Trinn 3): Åpne Macro editor, skriv inn koden for variabel i Macro1

Trinn 4): Kjør koden for Macro 1

Eksempel, for VBA-variabel

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

Når du kjører denne koden, vil du få følgende utdata i arket ditt.

VBA-variabler

Excel VBA-datatyper

Datamaskinen kan ikke skille mellom tallene (1,2,3..) og strenger (a,b,c,..). For å gjøre denne differensieringen bruker vi datatyper.

VBA-datatyper kan deles inn i to typer

  • Numeriske datatyper
typen Oppbevaring Utvalg av verdier
Byte 1 bytes 0 til 255
Heltall 2 bytes -32,768 til 32,767
Lang 4 bytes -2,147,483,648 til 2,147,483,648
enslig 4 bytes -3.402823E+38 til -1.401298E-45 for negative verdier 1.401298E-45 til 3.402823E+38 for positive verdier.
Double 8 bytes -1.79769313486232e+308 til -4.94065645841247E-324 for negative verdier
4.94065645841247E-324 til 1.79769313486232e+308 for positive verdier.
valuta 8 bytes -922,337,203,685,477.5808 til 922,337,203,685,477.5807
Desimal 12 bytes +/- 79,228,162,514,264,337,593,543,950,335 hvis ingen desimal er, bruk +/- 7.9228162514264337593543950335 (28 desimaler)
  • Ikke-numeriske datatyper
Data-type Byte brukt Utvalg av verdier
String (fast lengde) Lengde på streng 1 til 65,400 tegn
streng (variabel lengde) Lengde + 10 byte 0 til 2 milliarder tegn
boolean 2 bytes Sant eller usant
Dato 8 bytes 1. januar 100 til 31. desember 9999
Objekt 4 bytes Ethvert innebygd objekt
Variant (numerisk) 16 bytes Enhver verdi så stor som Double
Variant (tekst) Lengde+22 byte Samme som streng med variabel lengde

I VBA, hvis datatypen ikke er spesifisert, vil den automatisk erklære variabelen som en variant.

La oss se et eksempel på hvordan du deklarerer variabler i VBA. I dette eksemplet vil vi deklarere tre typer variabler streng, sammenføyningsdato og valuta.

Trinn 1) Som i den forrige opplæringen vil vi sette inn kommandoknappen1 i vår Excel ark.

Excel VBA-datatyper

Trinn 2) I neste trinn høyreklikker du på knappen og velger Vis kode. Det vil åpne kodevinduet som vist nedenfor.

Excel VBA-datatyper

Trinn 3) I dette trinnet

  • Lagre filen ved å klikke på lagre-knappen Excel VBA-datatyper
  • Klikk deretter på Excel-ikonet Excel VBA-datatyper i samme vindu for å returnere Excel-arket.
  • Du kan se at designmodusen er "på" uthevet i grønt

Excel VBA-datatyper

Trinn 4) Slå av designmodus før du klikker på kommandoknappen

Excel VBA-datatyper

Trinn 5) Etter at du har slått av designmodusen, klikker du på kommandoknapp1. Den vil vise følgende variabel som en utgang for området vi erklærte i kode.

  • Navn
  • Tilmeldingsdato
  • Inntekt i valuta

Excel VBA-datatyper

Konstant i VBA

Konstant er som en variabel, men du kan ikke endre den. For å deklarere VBA-konstanter kan du bruke nøkkelord Konst.

Det er to typer konstanter,

  • Innebygd eller iboende levert av applikasjonen.
  • Symbolsk eller brukerdefinert

Du kan enten spesifisere omfanget som privat som standard eller offentlig. For eksempel,

Offentlige konstdager i år=365

Privatkonst Arbeidsdager=250

Last ned Excel som inneholder koden ovenfor

Last ned Excel-filen ovenfor Code

Variabel omfang og eksplisitt opsjon

Hvor en variabel deklareres avgjør hvor den kan brukes, og én liten innstilling øverst i en modul forhindrer de fleste typerping feil. Å forstå begge deler holder et voksende program pålitelig.

søkeord Omfang Lifetime
Dim (inne i en sub) Bare prosedyren den er deklarert i Tilbakestilles hver gang prosedyren kjøres
Statisk Bare prosedyren, men verdien beholdes Huskes mellom samtaler
Privat (øverst på modulen) Hver prosedyre i den modulen Lever mens arbeidsboken er åpen
Offentlig (øverst på modulen) Hver modul i prosjektet Lever mens arbeidsboken er åpen

💡 Tips: typen Alternativ Eksplisitt som den første linjen i hver modul. Den tvinger alle variabler til å bli deklarert med Dim, slik at et feilstavet navn fanges opp under kompilering i stedet for at en ny, tom variant opprettes i stillhet.

Spørsmål og svar

En variabel har en verdi som koden kan endre mens den kjører. En konstant har en verdi som er fast med Konstant og ikke kan endres. Bruk en konstant for en verdi som aldri varierer, for eksempel en skattesats.

Heltallet inneholder bare verdier fra -32 768 til 32 767, så et radantall eller et stort tall overfyller det. Long inneholder langt større verdier, og Microsoft anbefaler nå Long for hele tall i moderne VBA.

Variant er standardtypen når ingen er spesifisert. Den kan inneholde et tall, tekst, en dato eller et objekt, som er fleksibelt, men bruker mer minne og kjører saktere. Deklarer en spesifikk type der det er mulig.

Ja. AI-kodeassistenter leser hvordan en variabel brukes og foreslår en passende type, for eksempel Long for en teller eller String for tekst. Utvikleren bekrefter valget og legger til Option Explicit.

Ja. AI-assistenter flagger en feilstavet eller udeklarert variabel, forklarer hvorfor Option Explicit rapporterer den, og foreslår riktig deklarasjon. Utvikleren bruker rettelsen og kompilerer modulen på nytt.

Oppsummer dette innlegget med: