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
Megjegyzés küldése