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: