Dr. Pál László, Sapientia EMTE, Csíkszereda SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 1.ELŐADÁS 2015-2016 ősz VBA bevezető
Előadás tematika 1.Előadás: VBA bevezető (VB, VBA környezet, Makrók) 2. Előadás: A Visual Basic programozási nyelv (Adattípusok, Adatok kezelése, Vezérlő szerkezetek) Excel VBA használata (VBA Editor) Pénzügyi függvények használata 3. Előadás: A Visual Basic programozási nyelv (Szubrutinok, Tömbök) Az Excel programozása (Objektumok (pld. Range)) Hitelkonstrukciók 4. Előadás: A Visual Basic programozási nyelv (Objektumok, Űrlapok) Az Excel programozása (Makrórögzítés, Diagramok kezelése) Ismerkedés az árfolyamokkal (adatok letöltése, hozamok, kamatlábak, stb.) 5. Előadás: Függvények ábrázolása (leggyakoribb függvények, eloszlás és sűrűségfüggvény) Részvények (hozam, kockázat, portfólió hozama, varianciája) 6. Előadás: Solver Optimális portfóliók 7. Előadás: Lehetőségelemzés (célérték keresés, esetvizsgáló, adattáblák)
Labor tematika 1.Labor: 2.Labor: 3.Labor: 4.Labor: 5.Labor: 6.Labor: 7.Labor: 1.ZH: 8.Labor: 9.Labor: 10.Labor: 11.Labor: 12.Labor: 13.Labor: 2.ZH: VBA környezet, Makrók írása, Egyszerű példák A Visual Basic programozási nyelv (Adattípusok, Adatok kezelése, Vezérlő szerkezetek) Excel VBA használata (VBA Editor) Pénzügyi függvények használata A Visual Basic programozási nyelv (Adattípusok, Adatok kezelése, Vezérlő szerkezetek) Az Excel programozása (Objektumok) Pénzügyi függvények használata
Könyvészet és dokumentáció Könyvtári könyvek Bártfai Barnabás: Excel haladóknak, BBS-Info, Budapest, 2012. Fiala Tibor: Pénzügyi modellezés Excellel, Kossúth Könyvkiadó, Budapest, 1999. Bodie - Kane Marcus: Befektetések, Tanszék Kiadó, 1996. Fazakas Gergely, Gáspár Bencéné, Soós Renáta: Bevezetés a pénzügyi és vállalati pénzügyi számításokba, Tanszék Kiadó, Budapest, 2003. Száz János, Juhász Péter: Pénzügyi számítások Visual Basic segítségével, Budapest, 2013
Könyvészet és dokumentáció Online anyagok: http://www.excel-easy.com/vba.html http://excelvbatutor.com/vba_tutorial.html Előadások, labor feladatok, egyéb dokumentációk megtálalhatok az alábbi linken: http://www.emte.siculorum.ro/~pallaszlo/oktatas_hu.html
Vizsgakövetelmények 6 Felmérési mód: kollokvium 1.Zárthelyi: 50% (8. hét (Labor)) Gyakorlat 2.Zárthelyi: 50% (14. hét (Labor)) Gyakorlat
1.Előadás Az Excel VBA környezetének használata VB, VBA, Makrók VBA környezet
Mi is az a VB? VB (Visual Basic): a Microsoft által kifejlesztett objektumorientált, eseményvezérelt, strukturált szerkezetű programozási nyelv, a hozzá tartozó integrált fejlesztői környezettel Ismertebb VB változatok Visual Basic: a VB különböző verziói 2008-ig (VB6) Visual Basic.NET (VB.NET):.NET keretrendszerére épült új fejlesztőbázis (2002-től) Visual Basic for Applications (VBA)
Mi is az a VBA? VBA (Visual Basic for Application): a Microsoft Office csomagon belül futtatható programok írására szolgáló programozási nyelv VBA főbb tulajdonságai: Csak Visual Basic nyelven programozhatunk (a Visual Studio-hoz képest) korlátozott fejlesztési eszköztár mellett Csak az adott szoftverrel (pl. Excel) együtt használható Önállóan futtatható (*.exe) fájlok nem készíthetők
Makrók Makró: parancsok sorozata, amely ismétlődő feladatok végrehajtásának automatizálására használható VBA forráskódok (utasítások, objektumok, űrlapok) általános, összefoglaló elnevezése Tetszőleges program írható makrók segítségével (vírus program is!) Biztonsági beállítások
Makrók biztonsági beállítások Makrók adatvédelmi központja Office Buton Excel Options Trust Center Trust Center Settings
Makrók biztonsági beállítások Az Adatvédelmi központ beállításai
Makrók engedélyezése, letiltása Egy makrót megnyitáskor engedélyezhetünk vagy letilthatunk Engedélyezés esetén a makró megbízható dokumentumként kezelődik (futtatható)
Makróbarát munkafüzet Az Excel a 2010-es változattól kezdődően a makrókat tartalmazó dokumentumokra a Makróbarát Excel munkafüzet (Macro-Enabled Workbook ) elnevezést használja. Ezeknek a fájloknak a kiterjesztése:.xlsm A makrókat tartalmazó dokumentumokat ilyen fájlként mentsük
A Visual Basic Editor A makró szerkesztő a Fejlesztőeszközök (Developer) lap alatt található meg, amely alapértelmezetten nem jelenik meg. Ennek ellenére behívható az Alt+F11-el, vagy megjeleníthető a Office Buton Excel Options Popular Show Developer tab jelölőnégyzet bekapcsolásával
A Visual Basic Editor A Developer menüszalag Code: Visual Basic: szerkesztő indítása Macros: makrók megjelenítése Record Macro: makró rögzítése Controls: Insert Properties View Code
A Visual Basic Editor A Visual Basic Editor egy önálló ablakban jelenik meg, de az Excel bezárásával ez az ablak is bezáródik A fejlesztőkörnyezet angol nyelvű (menü, súgó, hibaüzenetek, stb.), hiába magyar nyelvű az Excel
A Visual Basic Editor Project ablak A Project ablak: az adott dokumentumfájlban tárolt objektumok áttekinthetőségét, kezelését hivatott szolgálni Egy Excel projektben az alábbi objektumok szerepelhetnek: Excel objektumok (Microsoft Excel Objects) Munkalapok (Sheet1, ) A munkafüzet (ThisWorkbook) Formok (Forms) Modulok (Modules) Osztálymodulok (Class Modules)
A Visual Basic Editor- kódszerkesztő A kódszerkesztő ablak a VBA forráskódok megírására, azok módosítására szolgál A forráskódok modulokba, azon belül pedig szubrutinokba szervezettek
Modulok felépítése Minden modul ugyanazt az egyszerű felépítést követi: a modul elején a modulszintű utasításokat kell megadni, amelyeket a modul szubrutinjai követnek (ezekről majd később részletesen) Példa:
Fordítás, futtatás A forrásprogramok írásakor a kódszerkesztő már ellenőrizni tudja az adott sor szintaktikáját A projekthez tartozó összes forrásprogram lefordítható a Debug menü Compile VBAProject funkciójával Hiba esetén a hibás kódrészletet megjelölődik Futtatni a Run menüből lehetséges (F5 gyors billentyű) Önálló modul esetén minden olyan szubrutin külön futtatható, amelynek nincsen paramétere
Makró létrehozása Makrót létrehozni 2 féle képen lehetséges: Rögzítéssel (lásd később) Program írással Az Insert menüben kiválasszuk a Module almenüpontot, majd az utasítások segítségével megoldjuk a feladatot Példa: az A1 cellában írjunk ki egy szöveget
Az Immediate ablak A program kódok kimeneti ablaka lehet Utasítások közvetlen végrehajtására is használható Előhívása: a View menüpontból vagy Ctrl+G A végrehajtani kívánt utasításokat egy sorba kell írni, több utasítás esetén az utasítások közé kettőspontot kell tenni A végrehajtást az Enter billentyű leütésével történik
Az Immediate ablak Az Immediate ablak tartalma szabadon szerkeszthető Példa: