vba gyorstalpaló
DESCRIPTION
VBA gyorstalpaló. Benczúr Zsolt benczurzs @ gmail.com. Elméleti fogalmak. Makró rögzítés Makró lejátszás Modules Változók fogalma Objektum hierarchia ActiveX-vezérlők ( gomb, textbox , …. ) ActiveX-vezérlők paraméterei. VBA parancsok. Változók. - PowerPoint PPT PresentationTRANSCRIPT
VBA gyorstalpaló
Benczúr [email protected]
Elméleti fogalmak
• Makró rögzítés• Makró lejátszás• Modules• Változók fogalma• Objektum hierarchia• ActiveX-vezérlők ( gomb, textbox, …. )• ActiveX-vezérlők paraméterei
VBA parancsok
Változók
• Egy doboz, ami értéket vehet fel, amit beletöltünk, azt vissza tudja adni
Változók, értékadás
A = 2
A értéke 2-lesz
Bonyolultabb kifejezés
A = 2+31. Lépés jobb oldal
A = 2+3 52. Lépés bal oldal
A = 2+33. Lépés a kettő együtt
A = 5
Önmagát növelő változó
A = A + 11. Lépés jobb oldal
A = A + 1 62. Lépés bal oldal
A = A+13. Lépés a kettő együtt
A = 6
A = 5
Két változó összege
A = A + B1. Lépés jobb oldal
A = A + B 5+7 = 122. Lépés bal oldal
A = A+B3. Lépés a kettő együtt
A = 12
A = 5 B = 7
For Next
• Mire jó ?• Rögzített lépésszámú ciklus
• Legegyszerűbb alakja:• 1-től 3-ig lépteti i-t• For i = 1 to 3• ….• Next i
For Next példa
j = 0
For i = 1 to 3
j = j +1
Next i
’ Mennyi lesz a j ?
Kezdeti értékadás
A teljes ciklus
Ciklusmag, ezt ismétli
For Nextj = 0For i = 1 to 3j = j +1Next i’ Mennyi lesz a j ?
j = 0j = j +1j = j +1j = j +1
0. lépésj = 0
1. Ciklus lépésj = j+1 j = 1
2. Ciklus lépésj = j+1 j = 2
3. Ciklus lépésj = j+1 j = 3
j = 3
For Next nehezebb példaj = 0For i = 1 to 3j = j + iNext i’ Mennyi lesz a j ?
j = 0j = j +ij = j +ij = j +i
Figyelem, nem 1-el növeljük j-t, hanem i-vel !!
0. lépésj = 0
1. Ciklus lépési = 1j = j+i j = 0+1 1
2. Ciklus lépési = 2j = j+i j = 1+2 3
3. Ciklus lépési = 3j = j+i j = 3+3 6
j = 6
If then else
• Legegyszerűbb formája:
If 5 < 6 thenMsgbox "5 nem nagyobb, mint 6"End if
If then else
If 5 > 6 thenMsgbox "6 nem nagyobb, mint 5"ElseMsgbox "6 nagyobb, mint 5"End if
Mivel a feltétel hamis, átugorjuk az igaz ágat
If then else
If 6 > 5 thenMsgbox "5 nem nagyobb, mint 6"ElseMsgbox "5 nagyobb, mint 6"End if
Mivel a feltétel igaz, átugorjuk a hamis ágat
Do loop while
• Addig ismétli, amíg igaz a feltétel.• A következő kód úgy viselkedik,
mint egy for i = 1 to 10
i = 0Doi = i + 1loop while i <= 10
Do loop while
• Egy érthető példa (érdemes kipróbálni)
Dovalasz = MsgBox("Megörjítelek, folytassam?",
vbYesNo)Loop While valasz = vbYesMsgBox "Szia"
Msgbox és paraméterei
• Ha nem kérünk információt a futásáról:Msgbox "üzenet"
• Ha kérünk információt a futásáról:valasz = Msgbox("üzenet")
• Vajon mi a valasz értéke most ? • Milyen gombra lett kattintva ?• vbOK
Msgbox és paraméterei
• Leggyakoribb paraméterek
valasz = MsgBox("üzenet", vbYesNo)valasz = MsgBox("üzenet", vbYesNoCancel)valasz = MsgBox("üzenet", vbOKCancel)valasz = MsgBox("üzenet", vbQuestion)valasz = MsgBox("üzenet", vbInformation)valasz = MsgBox("üzenet", vbOKOnly)
Msgbox és paraméterei
• 3. paramétere a title, a kék címsorban jelenik meg
• valasz = MsgBox("üzenet", vbOKCancel, "fejléc")
Inputbox és paraméterei
• Mindig van visszatérési értéke !
• valasz = inputbox("számot adj", "cím", 10)
Cella kijelölések
• További nagyon jó leírás a moodle-on található.
• Cells, Range
Mi is történik ?Kommunikálás a felhasználóval A program „háttér” működése
Form elemekkel
Cellákkal