Bevezetés a makró programozásba
A makró készítéshez szükségünk lessz egy Visual Basic Editorra, ami a "Fejelsztőeszközök" fülön érhetünk el. Amennyiben nem látszik a fül: kattintsunk az Office lógóra a jobb felső sarokban, majd kattintsunk "Az Excel beállításai" gombra, válasszuk a "Népszerű elemek" menüt és a "Fejlesztőezközök lap megjelenítése szalagon" előtti négyzetbe tegyünk egy pipát. Okézzuk le, és már meg is jelent az fül.
Hello világ
Indítsuk el a Visual Basic Editort (Alt+F11). Hozzunk létre egy új modult, Insert > Module. A megjeleni modulba gépeljük be az elsi programunkat, de közben figyeljünk mindarra ami a beírás közben történik.
A program beírását kezdjük el azzal, hogy írjuk le a sub ElsoMakro szöveget, mintha csak egy szövegszerkesztőben lennénk.
Üssük le az ENTER billentyőt. Ennek hatására a program szövege ilyen lesz:
Sub ElsoMakro()
End Sub
A Sub utasítás csak a párjával az End Sub paranccsal együtt érvényes. A Sub és End Sub közé kell írnunk a programot. A VBE befejezi az utasításpár beírását.
A programtest parancsait illik beljebb kezdeni, ezért üssük le a Tab billentyőt és gépeljük be a parancs elejét: Range(
Figyeljük meg, hogy a VBE felkínálja az objektumba írható argumentumokat egy kis sárga panelben.
Majd fejezzük be a parancsot a következőképpen: "a1")="Helló világ"
Indítsuk el a megírt programot: adjuk ki a Run > Run Macro(F5) utasítást. Nézzük meg az eredményt. Kapcsoljunk vissza az Excelbe és nézzük meg az éppen aktív munkalap Al-es celláját.
Változók meghatározása
A változók típusát három kategóriába sorolhatjuk; a numerikus - számokat tartalmazó -, a string - szöveget tartalmazó - és az egyéb adattípus, amely egyik elizibe sem illik bele.
Numerikus adattípusok
Dim intSzamlalo As Integer
Az utasítás Dim kulcsszava a deklaráló utasítás. Ezt a változó neve követi, amit tetszőlegesen határozhatunk meg, természetesen betartva a Visual Basic eliírásait. Az utasítást valójában a kiemelt As Integer miatt néztük meg. Ez a változótípusok meghatározásának egyik módja. A felsorolt számtípusok közül a Byte, Integer és a Long egész, a Single, Double lebegőpontos és a Currency típus fixpontos számok tárolására alkalmas.
String adattípus
A String adattípusú változókban szöveges adatokat - karakterláncokat - tárolhatunk. A tárolható karakterek kódjának 0 és 255 közé kell esnie. A String típusú változóban a leghosszabb tárolható szöveg 2^31 betőbil állhat. Ha szükséges, elire meghatározhatjuk a tárolható karakterek számát. Ebben az esetben a változóban tárolt karakterlánc hossza nem lehet több, mint amekkorát elire meghatároztunk.
Dim strNeve As String
Ez a deklaráció egy elire nem meghatározott hosszúságú karakterlánc tárolását teszi lehetővé. Ha szeretnénk meghatározni a tárolható karakterek számát is, akkor ezt a következiképpen tehetjük meg:
Dim strNeve As String * 10
A változótípus után leírt * 10-zel határoztuk meg, hogy milyen hosszúságú szöveg - karakterlánc - számára foglaltunk helyet az operatív tárban. Ha meghatároztuk a változót, akkor annak késibb értéket is szeretnénk adni. Nézzük meg azt az utasítást, amelyben a strNeve változónak értéket adunk:
strNeve = "Zsmaster"
Egyéb adattípusok
Boolean adattípus
A logikai változók csak kétféle értéket vehetnek fel. Logikai igaz értéket - TRUE -, vagy hamis értéket - FALSE -. A Visual Basic két bájt hosszúságú területet foglal le a Boolean adattípusú változók számára. A logikai változótípus meghatározására a következi utasítást írjuk a programba:
Dim bolValasz As Boolean
Date adattípus
A dátum adattípus valójában egy valós tört szám, ami egy idipont tárolására használható. A szám egész része a dátumot, - például:2000. július 28. - határozza meg, a törtrésze pedig az idipontot- 12 óra 28perc. Az dátum napja 100. január 1. és 9999. december 31. között lehet.Deklarálása a következő:
Dim datFizetesiDatum As Date
Variant adattípus
Elifordulhat, hogy elire nem tudjuk, hogy mi lesz az adat típusa a változónak, amit tárolni fogunk. Ilyen esetekben használhatjuk a Variant adattípust. Ez az alapértelmezett adattípus, vagyis ha nem határozzuk meg a változó típusát, az Variant lesz. Tehát ezt az adattípust kétféleképpen is meghatározhatjuk. A következi két típus meghatározás eredménye azonos:
Dim varVegyes_l
Dim varVegyes_2 As Variant
Deklarálás
A változók deklarálásának - helyfoglalásának - két módja is van. Az egyik esetben a program valamelyik részében értéket adunk egy változónak. Vagyis nem határozzuk meg elire a helyét és típusát, hanem egyszerően csak használatba vesszük. Ezt implicit deklarációnak nevezzük. A másik esetben a program vagy eljárás elején elire lefoglaljuk a változók helyét és típusát. Ezt explicit deklarációnak hívjuk.
Implicit deklaráció
Nézzük meg elibb ezt a módszert, vonjuk le belile a szükséges tanulságot, majd ismerkedjünk meg az explicit deklarálással. Egyszerőnek tőnik, hogy egyszer csak elkezdünk használni egy változót, amikor arra szükség van. Ilyenkor a program futás közben foglal helyet a változónak. Egyszerő, de nem biztonságos! Nézzük meg, íme:
Sub ErtekBekerese()
Szam = 18
End Sub
Explicit deklaráció
Önmagában az explicit deklarálás még nem megoldás. Ki kell adnunk egy modul szintő parancsot, hogy a VB figyelje a nem deklarált változókat. Ehhez az eljárásokon kívül valahol a modul elejére be kell írnunk az Option Explicit parancsot. Amelyik modulban szerepel ez a sor, ott a program figyelmeztet, ha nem deklarált változót használunk.
Option Explicit
Sub ErtekBekerese()
Dim intSzam As Integer
intSzam = 18
intSzam = intSzam + 1
End Sub