VBA-variabler, datatyper og konstanter i Excel

⚡ Smart opsummering

VBA-variabler, datatyper og konstanter i Excel gemmer og navngiver de værdier, et program arbejder med. Denne side forklarer regler for navngivning af variabler, implicit og eksplicit deklaration med Dim, de numeriske og ikke-numeriske datatyper, og hvordan man deklarerer en konstant med Const.

  • 📦 Variabel: En navngiven værdi, der gemmes i hukommelsen, som koden gemmer og senere læser tilbage.
  • 🔤 Navngivningsregler: Et navn er under 255 tegn, har ingen mellemrum, starter ikke med et tal og indeholder intet punktum.
  • ✍️ Erklæring: Dim-nøgleordet deklarerer en variabel eksplicit, for eksempel Dim Num As Integer.
  • 🔢 Numeriske typer: Byte, heltal, lang, enkelt, Double, Valuta og Decimal varierer i lagring og rækkevidde.
  • 🔠 Ikke-numeriske typer: Streng, boolsk værdi, dato, objekt og variant indeholder tekst, sand eller falsk, datoer og objekter.
  • 🔒 Konstant: Nøgleordet Const deklarerer en værdi, der ikke kan ændres, f.eks. Const DaysInYear = 365.

VBA-variabler, datatyper og konstanter i Excel

Variabler bruges i næsten alle computerprogrammer, og VBA er ikke anderledes. Det er en god praksis at erklære en variabel i begyndelsen af ​​proceduren. Det er ikke nødvendigt, men det hjælper med at identificere arten af ​​indholdet (tekst, data, tal osv.)

VBA-variabler

Variabler er specifikke værdier, der er gemt i en computerhukommelse eller et lagersystem. Later, kan du bruge denne værdi i kode og udføre. Computeren henter denne værdi fra systemet og vises i outputtet. Hver af Excel VBA-variabeltyperne skal have et navn.

For at navngive variablen i VBA skal du følge følgende regler.

  • Det skal være mindre end 255 tegn
  • Ingen mellemrum er tilladt
  • Det må ikke begynde med et tal
  • Periode er ikke tilladt

Her er nogle eksempler på gyldige og ugyldige navne for variabler i VBA.

VBA-variabler Gyldige navne VBA-variabler Ugyldige navne
Mit ur Mit ur
Ny bil 1 1_NewCar (begynder ikke med nummer)
Medarbejder-ID Medarbejder-id (plads ikke tilladt)

In VBA, skal vi erklære variablerne, før vi bruger dem ved at tildele navne og datatype.

I VBA er variabler enten erklæret implicit eller eksplicit.

  • Implicit: Nedenfor er et eksempel på en variabel, der erklæres implicit.
  • label=guru99
  • volumen=4
  • Eksplicit: Nedenfor er et eksempel på variabel erklæret eksplicit. Du kan bruge søgeordet "Dim" i syntaks
  • Dim Tal som heltal
  • Dim adgangskode som streng

VBA variabel er ikke anderledes end andre programmeringssprog. For at erklære en variabel i VBA bruger du nøgleordet "Svag."

Syntaks for VBA-variabel,

For at erklære en variabel i VBA skal du skrive Dim efterfulgt af et navn:

Sub Exercise ()
        Dim <name>
End Sub

Før vi udfører variablerne, skal vi registrere en makro i Excel. For at optage en makro skal du gøre følgende –

Trin 1): Optag makroen 1

Trin 2) : Stop makro 1

Trin 3): Åbn Macro editor, indtast koden for variabel i Macro1

Trin 4): Udfør koden til Macro 1

Eksempel, for VBA Variable

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

Når du kører denne kode, får du følgende output i dit ark.

VBA-variabler

Excel VBA-datatyper

Computeren kan ikke skelne mellem tallene (1,2,3..) og strenge (a,b,c,..). For at gøre denne differentiering bruger vi Datatyper.

VBA-datatyper kan adskilles i to typer

  • Numeriske datatyper
Type Opbevaring Vifte af værdier
Byte 1 byte 0 til 255
Integer 2 bytes -32,768 til 32,767
Lang 4 bytes -2,147,483,648 til 2,147,483,648
Single 4 bytes -3.402823E+38 til -1.401298E-45 for negative værdier 1.401298E-45 til 3.402823E+38 for positive værdier.
Double 8 bytes -1.79769313486232e+308 til -4.94065645841247E-324 for negative værdier
4.94065645841247E-324 til 1.79769313486232e+308 for positive værdier.
Valuta 8 bytes -922,337,203,685,477.5808 til 922,337,203,685,477.5807
Decimal 12 bytes +/- 79,228,162,514,264,337,593,543,950,335, hvis ingen decimal er, brug +/- 7.9228162514264337593543950335 (28 decimaler)
  • Ikke-numeriske datatyper
Datatype Brugte bytes Vifte af værdier
String (fast længde) Længde af snor 1 til 65,400 tegn
Streng (variabel længde) Længde + 10 bytes 0 til 2 milliarder tegn
Boolesk 2 bytes Sandt eller falsk
Dato 8 bytes 1. januar 100 til 31. december 9999
Object 4 bytes Ethvert indlejret objekt
Variant (numerisk) 16 bytes Enhver værdi så stor som Double
Variant (tekst) Længde+22 bytes Samme som streng med variabel længde

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

Lad os se et eksempel på, hvordan man erklærer variabler i VBA. I dette eksempel vil vi erklære tre typer variabler streng, sammenføjningsdato og valuta.

Trin 1) Ligesom i den forrige tutorial vil vi indsætte kommandoen Button1 i vores Excel-ark.

Excel VBA-datatyper

Trin 2) I næste trin skal du højreklikke på knappen og vælge Vis kode. Det åbner kodevinduet som vist nedenfor.

Excel VBA-datatyper

Trin 3) I dette trin,

  • Gem din fil ved at klikke på knappen Gem Excel VBA-datatyper
  • Klik derefter på Excel-ikonet Excel VBA-datatyper i samme vindue for at returnere Excel-arket.
  • Du kan se, at designtilstanden er "til" fremhævet med grønt

Excel VBA-datatyper

Trin 4) Slå designtilstand fra, før du klikker på kommandoknappen

Excel VBA-datatyper

Trin 5) Når du har slået designtilstanden fra, klikker du på kommandoknap1. Det vil vise følgende variabel som et output for det område, vi erklærede i kode.

  • Navn
  • Tilmeldingsdato
  • Indkomst i valuta

Excel VBA-datatyper

Konstant i VBA

Konstant er som en variabel, men du kan ikke ændre den. For at erklære VBA-konstanter kan du bruge nøgleord Const.

Der er to typer konstanter,

  • Indbygget eller iboende leveret af applikationen.
  • Symbolsk eller brugerdefineret

Du kan enten angive omfanget som private som standard eller offentlige. For eksempel,

Offentlige Const DaysInYear=365

Privatkonst Arbejdsdage=250

Download Excel, der indeholder ovenstående kode

Download ovenstående Excel-fil Code

Variabel omfang og eksplicit option

Hvor en variabel deklareres, bestemmer hvor den kan bruges, og én lille indstilling øverst i et modul forhindrer de fleste typer.ping fejl. Forståelse af begge dele holder et voksende program pålideligt.

Søgeord Anvendelsesområde Levetid
Dæmp (inde i en sub) Kun den procedure, den er angivet i Nulstilles hver gang proceduren køres
statisk Kun proceduren, men værdien bevares Huskes mellem opkald
Privat (øverst på modulet) Hver procedure i det modul Lever, mens projektmappen er åben
Offentlig (øverst på modulet) Hvert modul i projektet Lever, mens projektmappen er åben

💡 Tip: Type Mulighed for eksplicit som den første linje i hvert modul. Det tvinger alle variabler til at blive deklareret med Dim, så et forkert stavet navn registreres ved kompilering i stedet for lydløst at oprette en ny, tom variant.

Ofte Stillede Spørgsmål

En variabel indeholder en værdi, som koden kan ændre, mens den kører. En konstant indeholder en værdi, der er fast med Const og ikke kan ændres. Brug en konstant til en værdi, der aldrig varierer, f.eks. en skattesats.

Et heltal indeholder kun værdier fra -32,768 til 32,767, så et rækkeantal eller et stort tal overskrider det. Et langt tal indeholder langt større værdier, og Microsoft anbefaler nu Long for hele tal i moderne VBA.

Variant er standardtypen, når ingen er angivet. Den kan indeholde et tal, tekst, en dato eller et objekt, hvilket er fleksibelt, men bruger mere hukommelse og kører langsommere. Deklarer en specifik type, hvor det er muligt.

Ja. AI-kodeassistenter læser, hvordan en variabel bruges, og foreslår en passende type, f.eks. Long for en tæller eller String for tekst. Udvikleren bekræfter valget og tilføjer Option Explicit.

Ja. AI-assistenter markerer en stavet eller ikke-deklareret variabel, forklarer hvorfor Option Explicit rapporterer den, og foreslår den korrekte deklaration. Udvikleren anvender rettelsen og rekompilerer modulet.

Opsummer dette indlæg med: