100 likes | 200 Views
Mivel foglalkoz(t)unk a laborokon?. hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő. 2. hét: Excel alapok: cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal Solver használata: szélsőértékek és gyökök keresése.
E N D
Mivel foglalkoz(t)unk a laborokon? • hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő 2. hét: Excel alapok: cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal Solver használata: szélsőértékek és gyökök keresése 3. hét: VBA (1): blokkdiagram,változók, típus, értékadás, műveletek, cellából olvasás, cellába kiiratás, feltételes utasítások, ciklusok(1) 4. hét: VBA (2): ciklusok(2), alprogramok 5. hét: Gyakorlás az 1. géptermi beszámolóra 6. hét, okt. 14: 1. géptermi beszámoló
Programozás • a program az utasításokat sorban hajtja végre, kivéve….(ld. később) • pontosan olyan, mintha egy könyvet olvasnánk, amiben le van írva, hogy sorjában mit kell tennünk éppen most, beleértve, hogy hova lapozzunk a következő teendő elolvasásához • sokféle programnyelv van, de ha egyet ismer az ember, az nagyon segít a többi megismerésében • a programozás filozófiáját érdemes megtanulni
Változók, típus, műveletek, értékadás • A programban fontos a változó típusa a műveletek miatt • egész : integer (%) • tört: single , double (! , #) • szöveg: string ($) • pl. ha x egészés x=5/2, akkor 2 leszxértéke • pl. ha y törtés y=5/2, akkor 2.5 leszyértéke • de pl. „nótás”/2 nem lesz „félnótás”… • Matematikai alapműveletek • x=1+2 • y=18-2*x • x=y/24 • String műveletek • ha s=”osztogat”, akkor • s=”f”+s (vagy s=”f”&s) • után s=„fosztogat” Értékadó utasítás: Változó = Kifejezés Értéket adhatunk az Excel munkalap egy cellájának is: Cells(sor, oszlop) = Kifejezés cellájából is: Változó = Cells(sor, oszlop)
Akkor most ugorjunk: Hoppla Hopp! Azaz töltsük le a VBA1.xlsx fájlt, indítsuk az Excelt, majd: <Alt> <F11>InsertModule És kezdhetjük a programírást! Ne felejtsük a „Makróbarát” (xlsm) fájlformátumba való mentést!!
Program végrehajtása A VBA program felépítése Sub <neve>( ) <esetleg deklarációk> <utasítások> End Sub A deklaráció a változók típusát adja meg
Start Kiír: „x” „x köbe” x=2 kiír: x, x3 x=x+1 x<=8 ? igen nem Stop Egy „programocska” Amit a program kiír A blokkdiagram: A VBA program: címke átirányítás a címkéhez
megad: X , kiír: X igen X páros ? Y = X*X nem kiír: Y IF <log.kif.> THEN<utasítás> Kiírás:(2,4);(-4,16 );(3,16 ); (–1,16 ) IF<log.kif.> THEN <ut.1>ELSE<ut.2> Kiírás:(2,4);(-4,16);(3,11);(-1,7) feltételesen végrehajtandó utasításés feltételes utasítás Az X értékek (mindkét esetben): 2 , -4 , 3 , -1 megad: X , kiír: X igen X páros ? Y = X*X nem Y = X + 8 kiír: Y
Hurok programozása feltételes utasítással és átirányítással A hurok programozása hátul tesztelő ciklussal Sub kobok_H1() k = 1: Cells(k, 1) = "x" Cells(k, 2) = "x köbe" x = InputBox("x?") ujra: k = k + 1:Cells(k, 1) = x Cells(k, 2) = x ^ 3 x = x + 1 If x <= 8 Then GoToujra End Sub Sub kobok_H2() k = 1: Cells(k, 1) = "x" Cells(k, 2) = "x köbe" x = InputBox("x?") Do k = k + 1:Cells(k, 1) = x Cells(k, 2) = x ^ 3 x = x + 1 LoopWhilex <= 8 End Sub Start Kiír: „x” „x köbe” megad: x kiír: x, x3 x=x+1 • hátul tesztelő hurok x<=8 ? igen nem Stop Mi történik, ha x=9 értéket adunk meg?
elől tesztelő ciklus Start Do - Loop Whileés DoWhile- Loopciklus Kiír: „x” „x köbe” megad: x Start x<=8 ? nem Stop Kiír: „x” „x köbe” igen kiír: x, x3 x=x+1 megad: x • hátul tesztelő ciklus kiír: x, x3 x=x+1 Sub kobok_H2() k = 1: Cells(k, 1) = "x" Cells(k, 2) = "x köbe" x = InputBox("x?") Do k = k + 1:Cells(k, 1) = x Cells(k, 2) = x ^ 3 x = x + 1 LoopWhilex <= 8 End Sub Sub kobok_E2() k = 1: Cells(k, 1) = "x" Cells(k, 2) = "x köbe" x = InputBox("x?") DoWhilex <= 8 k = k + 1:Cells(k, 1) = x Cells(k, 2) = x ^ 3 x = x + 1 Loop End Sub Melyiknél mi történik, ha x=9 értéket adunk meg? x<=8 ? igen nem Stop
Visual Basic for Excel – elméleti összefoglaló Változók típusai, kifejezések, értékadás, feltételes utasítás Néhány alaptípus: Integer(%) Double(#) Single(!) String($) Boolean Date Típus deklarálása NEM kötelező! Alapműveletek: + - * / \ ^ (aritmetikai) And Or Not (logikai) Reláció jelek: = < > <= >= <> Aritmetikai kifejezés: a*a*a*a - 81 Logikai kifejezés: fa*fm<0 Értékadás: változó = kifejezés Pl: fa = a^4 - 81 Egy feltételes utasítás: If fa * fm < 0 Then b = m: fb = fm Else a = m: fa = fm End If VBA program felépítése: Sub <neve>( ) <esetleg deklarációk> <utasítások> End Sub