Excel programozás, 1. rész

 2012.07.29. 12:06

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

Címkék: Excel Programozás VBA Makró

A bejegyzés trackback címe:

https://zsmaster.blog.hu/api/trackback/id/tr274684667

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása