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ó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.
| 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.
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.
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.
Step 3) Ebben a lépésben a
- Mentse el a fájlt a mentés gombra kattintva
- Ezután kattintson az Excel ikonra
ugyanabban az ablakban az Excel munkalap visszaküldéséhez.
- Láthatja, hogy a tervezési mód zöld színnel van kiemelve
Step 4) Kapcsolja ki a tervezési módot, mielőtt a parancsgombra kattint
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
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
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.






