vba gyorstalpaló

23
VBA gyorstalpaló Benczúr Zsolt [email protected]

Upload: tanginika-morris

Post on 01-Jan-2016

39 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: VBA gyorstalpaló

VBA gyorstalpaló

Benczúr [email protected]

Page 2: VBA gyorstalpaló

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

Page 3: VBA gyorstalpaló

VBA parancsok

Page 4: VBA gyorstalpaló

Változók

• Egy doboz, ami értéket vehet fel, amit beletöltünk, azt vissza tudja adni

Page 5: VBA gyorstalpaló

Változók, értékadás

A = 2

A értéke 2-lesz

Page 6: VBA gyorstalpaló

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

Page 7: VBA gyorstalpaló

Ö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

Page 8: VBA gyorstalpaló

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

Page 9: VBA gyorstalpaló

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

Page 10: VBA gyorstalpaló

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

Page 11: VBA gyorstalpaló

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

Page 12: VBA gyorstalpaló

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

Page 13: VBA gyorstalpaló

If then else

• Legegyszerűbb formája:

If 5 < 6 thenMsgbox "5 nem nagyobb, mint 6"End if

Page 14: VBA gyorstalpaló

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

Page 15: VBA gyorstalpaló

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

Page 16: VBA gyorstalpaló

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

Page 17: VBA gyorstalpaló

Do loop while

• Egy érthető példa (érdemes kipróbálni)

Dovalasz = MsgBox("Megörjítelek, folytassam?",

vbYesNo)Loop While valasz = vbYesMsgBox "Szia"

Page 18: VBA gyorstalpaló

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

Page 19: VBA gyorstalpaló

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)

Page 20: VBA gyorstalpaló

Msgbox és paraméterei

• 3. paramétere a title, a kék címsorban jelenik meg

• valasz = MsgBox("üzenet", vbOKCancel, "fejléc")

Page 21: VBA gyorstalpaló

Inputbox és paraméterei

• Mindig van visszatérési értéke !

• valasz = inputbox("számot adj", "cím", 10)

Page 22: VBA gyorstalpaló

Cella kijelölések

• További nagyon jó leírás a moodle-on található.

• Cells, Range

Page 23: VBA gyorstalpaló

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