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 A Visual Basic programozási nyelv (Szubrutinok, Tömbök) Az Excel programozása (Objektumok (pld. Range)) Hitelkonstrukciók 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.) 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) Solver Optimális portfóliók Lehetőségelemzés (célérték keresés, esetvizsgáló, adattáblák)
3. Előadás: 4. Előadás: 5. Előadás: 6. Előadás: 7. Előadás:
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
6
Vizsgakövetelmények
Felmérési mód: kollokvium
1.Zárthelyi: 50% (8. hét (Labor))
2.Zárthelyi: 50% (14. hét (Labor))
Gyakorlat
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: