VBA (Visual Basic for Applications)
A VBA Visual Basic egyszerűsített változata, tartalmaz egy saját, integrált fejlesztői környezetet, ez része a legtöbb Microsoft Office alkalmazásnak. A nyelvet alapvetően arra tervezték, hogy más alkalmazásokhoz kiegészítő funkcionalitást biztosítson.
A Visual Basic Editort az ALT-F11 billentyűkombinációval tudjuk megnyitni.
A program elindításakor több területre osztott ablakos felült jelenik meg
– Explorer terület: itt a megnyitott dokumentumaink elemeit.fa szerkezetben találjuk. Az ablak terület megnyitása : a CTRL-R segítségével lehetséges.
– Program kód terület: Itt szerkeszthetjük ténylegesen a kódunkat. Az ablak terület megnyitása : a F7 segítségével lehetséges.
– A program futási eredmény területén az működés látható. Az ablak terület megnyitása : a CTRL-G segítségével lehetséges.
A program nyomkövetésére és hibakeresésre is külön ablak terület van.
A VBA (Visual Basic for Applications) alapfogalmai – Excel objektumok, metódusok és tulajdonságok – adattípusok – vezérlő utasítások – program struktúrálás – egyszerű input/output
VBA jellemzői: - objektum-orientált nyelv, - minden Office alkalmazásban ugyanaz a felület.
VBA objektumai: - Excel elemek: munkafüzet, munkalap, cellatartomány, diagramm, stb., - a műveletek elvégzése előtt azonosítani kell, - az azonos objektumok együtt is kezelhetőek (Példa csoportok : Worksheet, Workbook, Application)
VBA alkalmazás használat: - objektum.tulajdonságon keresztül pl.: az objektum attribútumai: szín, név, méret, érték, stb. például egy cellába írt képlet kiíratása: Sub Kepletolvaso() Keplet = Worksheets(“Lap1").Range("C5").Formula MsgBox Keplet End Sub
- objektum.metódus mehívással pl.: az objektumhoz vagy csoporthoz rendelt műveletek, tevékenységek például egy munkafüzet bezárása: Sub Fuzetzaras() Workbooks(“Munkafuzet.xls").Close End Sub - események, esemény-kezelő eljárások használatával VBA tartományok ill. cellák tulajdonságai, jellemzői: - Value ~ a tárolt érték (szám, szöveg, dátum, stb.) - Formula ~ Excel képlet (szöveges) - Characters(k,h) ~ karakterek kiválasztása (k – kezdő, h – hossz)) - Font ~ a karakter (Name, Size, ColorIndex, Bold, Italic,SubScript, SuperScript) - Interior ~ a háttér (ColorIndex, Pattern) - Border ~ a szegély (ColorIndex, LineStyle, Weight) - FontName ~ betű forma (Ariel, Times New Roman, …) - ColorIndex (a színskála sorszám, xlAuto, xlNone) - Pattern ~ a mintázat (pl. xlSolid, xlPatternCrissCross) - Betűformátum : Bold, Italic, SubScript, SuperScript ~ (True, False) Változó deklarációk: {Dim|Public|Private|Static} valt1 <típus>, valt2(20, 5 To 8) As <típus> Public ~ globális statikus változó Private ~ modul statikus változó Dim ~ modul statikus/eljárás lokális változó Static ~ eljárás statikus változó
Változótípusok: Integer - egész szám Single - lebegőpontos szám Double - duplapontosságú lebegőpontos szám Date: - dátum String - szövegváltozó Boolean - logikai (true, false) Variant - szöveg, szám vagy dátum (automatikus típus) Object - objektum Range - tartomány
VBA program strukturálás Eljárások (szubrutin) deffiniálása: Sub <eljárásnév>([<változó> As <adattípus>, ...]) [VB utasítások] End Sub Eljárások használata: [Call] <eljárásnév> [aktuális paraméterek], Kilépés: Exit Sub Függvények deffiniálása: Function <függvénynév>([<paraméter> As <adattípus>, ...]) [VB utasítások] Legalább egy értékadás: függvénynév! End Function Függvények használata: <függvénynév> ([aktuális paraméterek]) Kilépés: Exit Function Csoporthivatkozás (ugyanazon az objektumra vonatkozó utasítások): With <objektum azonosító> [VB utasítások] End With VBA feltételes utasítások (elágazások) Feltétel vizsgálati szerkezet: If feltétel1 Then VB utasítások1 (a feltétel1 igaz) [ ElseIf feltétel2 VB utasítások2 ] (csak a feltétel2 igaz) [ Else VB utasítások3 ] (minden más esetben) End If Feltételek amelyek kiértékelése vezérli az elágazást: relációk: < > = <= >= <> logikai műveletek: And, Or, Not, Xor pl. (X<=-10) And (X<>-30)
Érték szerinti elágazás: Select Case <kifejezés> [ Case <i. kifejezéslista> <i. utasítások> ] (ha megfelel a listának) [ Case Else <másként utasítások> ] (minden más esetben) End Select Kifejezéslista érték vizsgálati elemek: <kifejezés> <kif1> To <kif2> Is <reláció> <kifejezés> pl. 15, 3 To 7, Is > 100 VBA Ciklus szervezés
Amíg a feltétel igaz elöl-tseztelő hátul-tesztelő: Do While feltétel Do [VB utasítások ] [VB utasítások ] Loop Loop While feltétel Amíg a feltétel hamis elöl-tseztelő hátul-tesztelő: Do Until feltétel Do [VB utasítások ] [VB utasítások ] Loop Loop Until feltétel Kilépés: Exit Do
Léptetős ciklusváltozó (mettől, meddig, lépés): For ciklvalt =13 To 2 [Step -1] [VB utasítások ] Next [ciklvalt ] Kilépés: Exit For VBA beépített ill. felhasználói függvények Függvény definiciálás: Function fvneve(argumentum1, …) VB utasítások End Function Függvény hívás: fvneve(paraméter1, …) Beépített Excel függvények használata: változó = Application.fvneve(paraméter1, …)
Megjegyzések
Megjegyzés küldése