VBA változók, adattípusok és állandók Excelben

⚡ Okos összefoglaló

Az Excel VBA változói, adattípusai és konstansai tárolják és címkézik azokat az értékeket, amelyekkel egy program dolgozik. Ez az oldal ismerteti a változók elnevezési szabályait, az implicit és explicit deklarációt a Dim függvénnyel, a numerikus és nem numerikus adattípusokat, valamint azt, hogyan deklarálhatunk konstansokat a Const függvénnyel.

  • 📦 Változó: Egy memóriában tárolt névvel ellátott érték, amelyet a kód tárol, majd később visszaolvas.
  • 🔤 Elnevezési szabályok: Egy név 255 karakternél rövidebb, nem tartalmaz szóközöket, nem kezdődik számmal, és nem tartalmaz pontot.
  • ✍️ Nyilatkozat: A Dim kulcsszó explicit módon deklarál egy változót, például Dim Num As Integer.
  • 🔢 Numerikus típusok: Bájt, Egész szám, Hosszú, Egyszeres, DoubleA , a Pénznem és a Decimális értékek tárolási és tartománybeli különbségeket mutatnak.
  • 🔠 Nem numerikus típusok: A karakterlánc, logikai érték, dátum, objektum és variáns értékek szöveget, igaz vagy hamis értéket, dátumokat és objektumokat tartalmaznak.
  • 🔒 Állandó: A Const kulcsszó egy olyan értéket deklarál, amely nem módosítható, például Const DaysInYear = 365.

VBA változók, adattípusok és állandók Excelben

Változókat szinte minden számítógépes program használ, és a VBA sem különbözik egymástól. Jó gyakorlat egy változót az eljárás elején deklarálni. Nem szükséges, de segít azonosítani a tartalom jellegét (szöveg, adatok, számok stb.)

VBA változók

A változók olyan meghatározott értékek, amelyeket a számítógép memóriájában vagy tárolórendszerében tárolnak. Later, használhatja ezt az értéket a kódban, és végrehajthatja. A számítógép lekéri ezt az értéket a rendszertől, és megjelenik a kimenetben. Minden Excel VBA-változótípusnak nevet kell adni.

A változó VBA-ban való elnevezéséhez a következő szabályokat kell követnie.

  • 255 karakternél rövidebbnek kell lennie
  • Nincs szóköz
  • Nem kezdődhet számmal
  • Az időszak nem megengedett

Íme néhány példa a VBA változóinak érvényes és érvénytelen neveire.

VBA változók Érvényes nevek VBA változók Érvénytelen nevek
Az órám Az órám
Újautó1 1_NewCar (nem számmal kezdődik)
Munkavállalói azonosító Alkalmazotti azonosító (hely nem megengedett)

In VBA, használatuk előtt deklarálnunk kell a változókat nevek és adattípusok hozzárendelésével.

A VBA-ban a változók implicit vagy explicit módon vannak deklarálva.

  • Hallgatólagosan: Az alábbiakban egy példa egy implicit módon deklarált változóra.
  • label=guru99
  • kötet=4
  • Kifejezetten: Az alábbiakban egy példa látható az explicit módon deklarált változóra. Használhatja a „Dim” kulcsszót a szintaxisban
  • Homályos Num As Integer
  • Homályos jelszó As String

A VBA változó nem különbözik a többi programozási nyelvtől. A VBA-ban egy változó deklarálásához használja a kulcsszót "Homályos."

VBA-változó szintaxisa,

Ha VBA-ban szeretne deklarálni egy változót, írja be a Dim nevet, majd egy nevet:

Sub Exercise ()
        Dim <name>
End Sub

Mielőtt végrehajtanánk a változókat, rögzítenünk kell a makró Excelben. Makró rögzítéséhez tegye a következőket:

Step 1): Rögzítse a makrót 1

Step 2) : 1. makró leállítása

Step 3): Nyissa meg a Makrószerkesztőt, írja be a változó kódját a Makró1-be

4 lépés): Futtassa le az 1. makró kódját

Példa a VBA-változóhoz

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

Amikor ezt a kódot futtatja, a következő kimenetet kapja a munkalapon.

VBA változók

Excel VBA adattípusok

A számítógép nem tud különbséget tenni a számok (1,2,3..) és a karakterláncok (a,b,c,...) között. A megkülönböztetéshez adattípusokat használunk.

A VBA adattípusok két típusra oszthatók

  • Numerikus adattípusok
típus Tárolás Értékek tartománya
Byte 1 bájt 0 a 255
Egész szám 2 bytes -32,768 a 32,767
Hosszú 4 bytes -2,147,483,648 a 2,147,483,648
egyetlen 4 bytes -3.402823E+38 - -1.401298E-45 negatív értékek esetén 1.401298E-45 - 3.402823E+38 pozitív értékek esetén.
Double 8 bytes -1.79769313486232e+308 - -4.94065645841247E-324 negatív értékek esetén
4.94065645841247E-324 – 1.79769313486232e+308 pozitív értékek esetén.
Valuta 8 bytes -922,337,203,685,477.5808 a 922,337,203,685,477.5807
Decimális 12 bytes +/- 79,228,162,514,264,337,593,543,950,335, ha nincs tizedesjegy, használja a +/- 7.9228162514264337593543950335 (28 tizedesjegy)
  • Nem numerikus adattípusok
Adattípus Felhasznált bájtok Értékek tartománya
Karakterlánc (fix hosszúságú) A húr hossza 1–65,400 karakter
Karakterlánc (változó hosszúságú) Hossz + 10 bájt 0-2 milliárd karakter
logikai 2 bytes Igaz vagy hamis
találka 8 bytes 1. január 100-től 31. december 9999-ig
tárgy 4 bytes Bármilyen beágyazott objektum
Változat (numerikus) 16 bytes Bármilyen akkora érték, mint Double
Változat (szöveg) Hossz + 22 bájt Ugyanaz, mint a változó hosszúságú karakterlánc

VBA-ban, ha a nincs megadva az adattípus, akkor a változót automatikusan Variantként deklarálja.

Nézzünk egy példát a változók VBA-ban való deklarálására. Ebben a példában háromféle változót deklarálunk, karakterláncot, csatlakozási dátumot és pénznemet.

Step 1) Az előző oktatóanyaghoz hasonlóan a commandButton1-et beillesztjük a miénkbe Excel lap.

Excel VBA adattípusok

Step 2) A következő lépésben kattintson a jobb gombbal a gombra, és válassza a Kód megtekintése lehetőséget. Megnyitja a kód ablakot az alábbiak szerint.

Excel VBA adattípusok

Step 3) Ebben a lépésben a

  • Mentse el a fájlt a mentés gombra kattintva Excel VBA adattípusok
  • Ezután kattintson az Excel ikonra Excel VBA adattípusok ugyanabban az ablakban az Excel munkalap visszaküldéséhez.
  • Láthatja, hogy a tervezési mód zöld színnel van kiemelve

Excel VBA adattípusok

Step 4) Kapcsolja ki a tervezési módot, mielőtt a parancsgombra kattint

Excel VBA adattípusok

Step 5) A tervezési mód kikapcsolása után kattintson a commandButton1 gombra. A következő változót fogja megjeleníteni a kódban deklarált tartomány kimeneteként.

  • Név
  • Csatlakozási dátum
  • Jövedelem valutában

Excel VBA adattípusok

VBA-ban állandó

A konstans olyan, mint egy változó, de nem módosíthatja. A VBA-konstansok deklarálásához használhatja a kulcsszót const.

Kétféle konstans létezik,

  • Az alkalmazás által biztosított beépített vagy belső.
  • Szimbolikus vagy felhasználó által meghatározott

A hatókört a következőképpen is megadhatja magán alapértelmezés szerint ill nyilvános. Például,

Public Const DaysInYear=365

Privát Const munkanapok=250

Töltse le a fenti kódot tartalmazó Excelt

Töltsd le a fenti Excelt Code

Változó hatókör és opció explicit

A változó deklarálásának helye határozza meg, hogy hol használható, és egy apró beállítás a modul tetején megakadályozza a legtöbb típust.ping hibák. Mindkettő megértése biztosítja a növekvő program megbízhatóságát.

Kulcsszó Kör Élettartam
Dim (egy Sub-on belül) Csak az az eljárás, amelyben deklarálva van Minden alkalommal, amikor az eljárás fut, alaphelyzetbe állítja
Statikus Csak az eljárás, de az érték megmarad Hívások között megjegyzve
Privát (a modul tetején) Minden eljárás ebben a modulban Él, amíg a munkafüzet nyitva van
Nyilvános (a modul tetején) A projekt minden modulja Él, amíg a munkafüzet nyitva van

💡 Tipp: típus Explicit lehetőség minden modul első soraként. Ez arra kényszeríti, hogy minden változót Dim-mel deklaráljanak, így a hibásan elírt neveket fordítási időben észleli ahelyett, hogy csendben létrehozna egy új üres Variant-ot.

GYIK

Egy változó egy olyan értéket tartalmaz, amelyet a kód futása közben megváltoztathat. Egy konstans egy olyan értéket tartalmaz, amely a Const paraméterrel rögzített és nem módosítható. Használj konstanst olyan értékhez, amely soha nem változik, például egy adókulcshoz.

Az „egész” csak -32 768 és 32 767 közötti értékeket tartalmaz, így egy sorszám vagy egy „nagy szám” túlcsordul rajta. A „hosszú” sokkal nagyobb értékeket tartalmaz, és Microsoft A modern VBA-ban mostantól a Long kifejezést ajánlja egész számokhoz.

Ha nincs megadva típus, a Variant az alapértelmezett. Számot, szöveget, dátumot vagy objektumot tartalmazhat, ami rugalmas, de több memóriát használ és lassabban fut. Ahol lehetséges, deklaráljon egy adott típust.

Igen. A mesterséges intelligencia által fejlesztett kódasszisztensek beolvassák a változók használatát, és javasolnak egy megfelelő típust, például Long-ot számlálóhoz vagy String-et szöveghez. A fejlesztő megerősíti a választást, és Option Explicit típust ad hozzá.

Igen. A mesterséges intelligencia asszisztensek megjelölik a hibásan elírt vagy nem deklarált változókat, elmagyarázzák, hogy az Option Explicit miért jelenti azokat, és javaslatot tesznek a helyes deklarációra. A fejlesztő alkalmazza a javítást, és újrafordítja a modult.

Foglald össze ezt a bejegyzést a következőképpen: