Ugrás a fő tartalomra

VBA alapok 0

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