A változók nagy szerepet játszanak a legtöbb Excel-makróban. A változókat memóriatárolóknak tekintheti, amelyeket felhasználhat az eljárásokban. Különböző típusú változók léteznek, mindegyiknek egy adott típusú adat tárolása a feladata.
Az alábbiakban felsorolunk néhány gyakori változótípust, amelyeket látni fog:
-
Karakterlánc: Szöveges adatokat tárol
-
Egész szám: –32 768 és 32 767 közötti numerikus adatokat tartalmaz
-
Hosszú: –2 147 483 648 és 2 147 483 647 közötti numerikus adatokat tartalmaz
-
Dupla: Lebegőpontos numerikus adatokat tárol
-
Változat: Bármilyen adatot tartalmaz
-
Logikai érték: Bináris adatokat tartalmaz, amelyek igaz vagy hamis értéket adnak vissza
-
Objektum: egy objektumot tárol az Excel objektummodellből
Amikor változót hoz létre egy makróban, akkor egy változót deklarál . Ehhez írja be a Dim (a dimenzió rövidítése), majd a változó nevét, majd a típusát. Például:
Dim MyText karakterláncként
Dim MyNumber egész számként
Dim MyWorksheet munkalapként
Miután létrehozta a változót, kitöltheti adatokkal. Íme néhány egyszerű példa arra, hogyan hozhat létre változót, majd rendelhet hozzá értékeket:
Dim MyText karakterláncként
MyText = Tartomány("A1").Érték
Dim MyNumber egész számként
SajátSzám = Tartomány("B1").Érték * 25
Dim MyObject munkalapként
Set MyWorksheet = Táblázatok ("Lap1")
A változókhoz rendelt értékek gyakran a celláiban tárolt adatokból származnak. Az értékek azonban lehetnek Ön által létrehozott információk is. Minden az adott feladattól függ. Ez a fogalom világosabbá válik, ahogy végignézi a makrókat ebben a könyvben.
Bár lehetséges, hogy hozzon létre kód, amely nem használ változókat, akkor találkozik sok példát VBA kódot, ahol változók vannak alkalmazunk. Ennek két fő oka van.
Először is, az Excel nem tudja, mire használják fel az adatokat. Nem lát számokat, szimbólumokat vagy betűket. Csak adatokat lát. Amikor meghatározott adattípusokkal deklarál változókat, segít az Excelnek tudni, hogyan kell kezelnie bizonyos adatokat, hogy a makrók a várt eredményeket hozzák.
Másodszor, a változók segítenek azáltal, hogy hatékonyabbá és könnyebben érthetővé teszik a kódot. Tegyük fel például, hogy az A1 cellában van egy szám, amelyre ismételten hivatkozik a makróban. Ezt a számot úgy kérheti le, hogy minden alkalommal rámutat az A1 cellára, amikor szüksége van rá:
Almakró1()
Tartomány("B1").Érték = Tartomány("A1").Érték * 5
Tartomány("C1").Érték = Tartomány("A1").Érték * 10
Tartomány("D1").Érték = Tartomány("A1").Érték * 15
Vége Sub
Ez a makró azonban arra kényszerítené az Excelt, hogy minden alkalommal, amikor az A1 cellára mutat, ugyanazt a számot tárolja a memóriában. Továbbá, ha módosítania kell a munkafüzetet, hogy a célszám ne az A1 cellában legyen, hanem mondjuk az A2 cellában, akkor módosítania kell a kódot úgy, hogy az összes hivatkozást A1-ről A2-re módosítja.
Jobb módszer, ha a számot csak egyszer tárolja az A1 cellában. Például tárolhatja az értéket az A1 cellában egy myValue nevű egész változóban:
Al változóval()
Dim myValue As Integer
myValue = Tartomány("A1").Érték
Tartomány("C3").Érték = myValue * 5
Tartomány("D5").Érték = myValue * 10
Tartomány("E7").Érték = myValue * 15
Vége Sub
Ez a megközelítés nemcsak a kód hatékonyságát javítja (biztosítja, hogy az Excel csak egyszer olvassa be az A1 cellában lévő számot), hanem azt is biztosítja, hogy csak egy sort kelljen szerkesztenie, ha a munkafüzet kialakítása megváltozik.