Ugrás a fő tartalomra

VBA alapok 1

VBA : Visual Basic for Applications. 

 Az MS Office alkalmazásainak (Excel, Word, Access, Power Point, Outlook) programozási nyelve. Mivel a Microsoft saját alkalmazásaihoz készítette a VBA-t.

A VBA kódok a program műveletek olyan csoportja, amely parancsok sorozatát hajtja végre egy alkalmazáson (pl. Excelen) belül. 

Ha ehhez a VBA nyelvet használja, nevezhetjük VBA kódnak is. A makrók segítségével automatizálhatunk ismétlődő feladatokat, de akár saját függvényeket is írhatunk.


VBA-t hordozó excel állomány formátumok:
– „Makróbarát Excel-munkafüzet” (.xlsm) kiterjesztés a makró változatot
– „Bináris Excel-munkafüzet” (.xlsb) ami szintén képes makrókat kezelni
– „Excel-munkafüzet” (.xlsx) kiterjesztés a makrómentes változatot jelenti

Fontos tudnivaló: 

Ha lefuttatunk egy makrót, akkor a Visszavonás (Undo) gomb nem működik, vagyis nem lehet visszavonni a műveletet, illetve visszaállítani a makró előtti állapotot, kivéve ha az ehhez szükséges kódot mi magunk külön meg nem írjuk. Ezért a makró futtatása előtt készítsünk másolatot a munkafüzetről vagy legalább mentsük el.



Egy egyszerű kód minta
Range("B4").Value = 42     ' ez a parancs a kód a B4-es tartomány értékét állítja 42-re.


Kód felépítése
Sub Beallit()
    Range("b4").Value = 42
End Sub

Vagy

Function beallit(Ertek As Integer)
Ertekes = 42                'minden számra a 42 számot adja vissza
End Function



VBA felület






1: Project (Projekt) ablak: 
itt található az összes megnyitott munkafüzet, fa szerkezetű elrendezésben. 
Ezen belül három almappa található:
• Microsoft Excel Object (Excel objektumok): ezen belül lehet „ThisWorkbook” vagy az egyes munkalapokhoz (itt: „Sheet1”) kapcsolódó kódolási hely
• Űrlapok (Forms)
• Modulok (Modules): itt a „Module1”. A modul mappa tartalmazza a makrókat és felhasználói függvényeket.

2: Properties (tulajdonságok) ablak: 
az objektumok, modulok, űrlapok bizonyos tulajdonságait itt tudjuk megváltoztatni, mint pl. a modul nevét 

3: A kódolási terület: 
itt történik a VBA kód vagyis makró létrehozása, szerkesztése. Ha „Subroutine”-ról vagyis szubrutinról van szó, akkor a makrónak „Sub”-bal kell kezdődnie és „End Sub”-bal végződnie, mint a fenti kép 1-es pontjánál. Ha pedig Functionról vagyis felhasználói függvényről van szó, akkor a makrónak „Function”-nal kell kezdődnie és „End Function”-nal végződnie.

4: Immediate ablak: 
a makró lefutásának eredményeit tudjuk itt ellenőrizni, illetve utasításokat is végrehajthatunk közvetlenül

5: Watches (Figyelő) ablak: 
makrók nyomon követésére, változók értékeinek megfigyelésére és hibakeresésre használható

Makrót kétféleképpen lehet létrehozni: rögzíteni vagy kreálni.


Makrórögzítő – előnyök:
• Semmilyen VBA tudás (vagy legfeljebb minimális) kell a használatához, illetve ahhoz, hogy a tevékenységeket makrók formájában kapjuk vissza
• a VBA guruk is használják: ha ellenőrizni akarnak egy parancsot, sokszor egyszerűbb a makrót rögzíteni, mint a súgót vagy a Google-t használni
• Word-höz is elérhető


Makrórögzítő – hátrányok:
• Csak az Excel-nél és a Word-nél áll rendelkezésre
• Felesleges dolgokat is rögzít, mint a görgetéseket, cellán való kattintásokat. Ennek eredményeképpen igen terjedelmes kódot kapunk, amit egyszerűsítenünk kell
• Egyes tevékenységeket nem rögzít
• Ismétlődő (ciklusos) feladatokat nem tudunk felvenni
• Csak szubrutint rögzíthetünk vele, felhasználói függvényt nem
• Komplex kódokat ne ezzel generáljunk


Objektum szerkezet



Egy objektum teljes leírója elég hosszú tud lenni:

Application.Workbooks(“KL_makro_alapok.xlsm”).Worksheets(“Munka1”).Range (“A1”)


Objektum jellemzők


Tulajdonság (Property):

Az objektumot jellemzi, illetve információkat tárol róla, mint a munkalap neve vagy a cella színe. 


Range("A1").Interior.Color



Eljárás (Method):

Olyan tevékenység, melyet az objektum végre tud hajtani. Pl. az A42-es cella kijelölése:


Range("A42").Select





Megjegyzések