1 Mivel foglalkoz(t)unk a laborokon? 1.hét: Word dokumentumok 1.hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő 2. hét: Excel alapok: 2. hét: Excel alapok: cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal Solver használata: Solver használata: szélsőértékek és gyökök keresése 3. hét: VBA (1): 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): 4. hét: VBA (2): ciklusok(2), alprogramok 5. hét: 5. hét: Gyakorlás az 1. géptermi beszámolóra 6. hét, okt. 14: 6. hét, okt. 14: 1. géptermi beszámoló
2 ProgramozásProgramozá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
3 A programban fontos a változó típusa a műveletek miatt –egész : integer (%) –tört: single, double (!, #) –szöveg: string ($) xxxpl. ha x egész és x=5/2, akkor 2 lesz x értéke yyypl. ha y tört és y=5/2, akkor 2.5 lesz y értéke de pl. „nótás”/2 nem lesz „félnótás”… Változók, típus, műveletek, értékadás VáltozóKifejezés Értékadó utasítás: Változó = Kifejezés nakKifejezés Értéket adhatunk az Excel munkalap egy cellájának is: Cells(sor, oszlop) = Kifejezés bólVáltozó cellájából is: Változó = Cells(sor, oszlop) 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”
4 Akkor most ugorjunk: Azaz töltsük le a VBA1.xlsx fájlt, indítsuk az Excelt, majd: Hoppla Hopp! Insert Module És kezdhetjük a programírást! Ne felejtsük a „Makróbarát” (xlsm) fájlformátumba való mentést!!
5 Program végrehajtása A VBA program felépítése Sub ( ) End Sub A deklaráció a változók típusát adja meg
6 Egy „programocska” A VBA program: Amit a program kiír A blokkdiagram: Start Kiír: „x” „x köbe” x=2 kiír: x, x 3 x=x+1 x<=8 ? igen nem Stop címke átirányítás a címkéhez
7 feltételesen végrehajtandó utasítás és feltételes utasítás megad: X, kiír: X kiír: Y Y = X*X X páros ? igen nem Az X értékek (mindkét esetben): 2, -4, 3, -1 IF THEN Kiírás: (2,4) ; (-4,16 ) ; (3,16 ) ; (–1,16 ) Y = X*X Y = X + 8 kiír: Y X páros ? igen nem megad: X, kiír: X ELSE IF THEN ELSE 117 Kiírás: (2,4 ) ; (-4,16 ) ; (3,11 ) ; (-1,7 )
8 Mi történik, ha x=9 értéket adunk meg? A hurok programozása hátul tesztelő ciklussal hátul tesztelő hurok Start Kiír: „x” „x köbe” megad: x kiír: x, x 3 x=x+1 x<=8 ? igen nem Stop 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 Loop While x <= 8 End Sub 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 GoTo ujra If x <= 8 Then GoTo ujra End Sub Hurok programozása feltételes utasítással és átirányítással
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 Loop While x <= 8 End Sub 9 elől tesztelő ciklus hátul tesztelő ciklus Start Kiír: „x” „x köbe” megad: x kiír: x, x 3 x=x+1 x<=8 ? igen nem Stop Start Kiír: „x” „x köbe” megad: x kiír: x, x 3 x=x+1 x<=8 ? igen nem Stop Sub kobok_E2() k = 1: Cells(k, 1) = "x" Cells(k, 2) = "x köbe" x = InputBox("x?") Do While x <= 8 k = k + 1: Cells(k, 1) = x Cells(k, 2) = x ^ 3 x = x + 1 Loop End Sub Do - Loop While Do While - Loop Do - Loop While és Do While - Loop ciklus Melyiknél mi történik, ha x=9 értéket adunk meg?
10 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^ Egy feltételes utasítás: If fa * fm < 0 Then b = m: fb = fm Else a = m: fa = fm End If Sub ( ) End Sub VBA program felépítése: Visual Basic for Excel – elméleti összefoglaló Változók típusai, kifejezések, értékadás, feltételes utasítás