Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK

Slides:



Advertisements
Hasonló előadás
Információs függvények
Advertisements

Koordináták, függvények
Gazdasági informatika
Adatbázisrendszerek elméleti alapjai 2. előadás
 Megfigyelhető, hogy amikor több elem közötti összehasonlítás történik, akkor szükség van egyszerre több értékre is, főleg akkor, ha ezek az értékek jóval.
Számítástechnika I. 2.konzultáció
Összetett adattípusok 8/b tétel
Tömbök C#-ban.
Gépelemek II. előadás 6-7.hét
A táblázatkezelés alapjai 1.
Cells(sor száma, oszlop száma)
Táblázat kezelő programok
Adatbázisrendszerek elméleti alapjai 5. előadás
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Táblázatkezelés-Excel
Adatbázis-kezelés.
Táblázatkezelés Microsoft Excel
Bevezetés a Java programozásba
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Táblázatkezelés alapjai MS Excel, OpenOffice Calc
Mutatók, tömbök, függvények
Mátrix függvények Keresőfüggvények
3. LOGIKAI ADATSZERKEZETEK
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Táblázatkezelés Az Excel.
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Microsoft Excel Függvények VII..
Tömbök Csernoch Mária.
Microsoft Excel 2. óra Előadó: Jánosik Tamás.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Összetett adattípusok
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Összetett adattípusok a Pascal nyelvben
TÖMBÖK Asszociatív adatszerkezetek Tömbök
Összetett adattípusok
Operátorok Értékadások
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Objektum orientált programozás
Objektum orientált programozás
Turócziné Kiscsatári Nóra
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
A Visual Basic nyelvi elemei
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
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ő.
Táblázatkezelés KÉPLETEK.
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Feladatok (értékadás)
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 5. előadás.
C Programozási alapok.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 3. előadás.
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Excel programozás (makró)
Programtervezés, programozás I. 2.5 tömbök,stringek
Az 5,6,7 laborok VBA anyagának összefoglalása
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Informatikai gyakorlatok 11. évfolyam
V 1.0 OE-NIK, Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok.
Informatika Oktató: Katona Péter. Táblázatkezelés (Az Excel táblázatkezelő alapjai)
Nevezetes algoritmusok
Excel programozás (makró)
Tömbök és programozási tételek
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Táblázatkezelés Az Excel.
Előadás másolata:

Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK 4. előadás Barna Róbert KE GTK Informatika Tanszék

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök A tömb azonos típusú konstansok vagy változók rendezett sorozata. Az egydimenziós tömb elemei egy sorozatot alkotnak. A kétdimenziós (2D) elemei táblázatban (sorokban és oszlopokban) helyezkednek el. A háromdimenziós (3D) tömböt úgy képzelhetjük el, mint lapokból álló kartotékrendszert, amelyben minden lap egy kétdimenziós táblázatot tartalmaz és a lapokat egymás után soroljuk. Pénzügyi feladatok VBA támogatása – 4. előadás 3 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök Háromnál több dimenziós tömböket meglehetősen nehéz kezelni, mert csak részeikre bontva tudjuk elképzelni. Ilyenekre inkább csak tudományos számításokban van szükség, a hétköznapi életben nem. A VBA legfeljebb 60 dimenziós tömbök létrehozását engedi meg! Pénzügyi feladatok VBA támogatása – 4. előadás 4 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök deklarálása 1. A változókra érvényes deklarálási szabályok szerint úgy, hogy a változónév után kerek zárójelek között megadjuk az index-határokat, majd As kulcsszóval az elemek (közös) típusát. Indexhatár számérték, számkonstans vagy ilyenekből képzett aritmetikai kifejezés lehet; alsó_határ ≤ felső_határ kötelező. Az alsó határt nem kötelező megadni; ha nem szerepel, az alapértelmezés szerinti, példáinkban 1 értékű lesz (később). Ha nem adunk meg típusnevet, a tömb alapértelmezett típusú lesz (Variant). Pénzügyi feladatok VBA támogatása – 4. előadás 5 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök deklarálása 1. Egydimenziós tömb deklarálása: Dim tömbnév ([alsóhatár To]felsőhatár) As típusnév Dim összeg(0 to 9) As Long Többdimenziós tömbök esetén - vesszővel elválasztva - annyi indexhatár-párt, illetve indexhatárt kell felsorolni, ahány dimenziós a tömb. Pénzügyi feladatok VBA támogatása – 4. előadás 6 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök deklarálása 2. Indexhatárok megadása nélkül dinamikus tömbök hozhatók létre. Ilyenkor a konkrét indexhatárokat csak a rutin belsejében, futás során lehet megadni, a tömbelemek feltöltése előtt, Redim kulcsszóval. Az egyszer megadott dimenziószám később már nem változtatható meg, de az egyes dimenziók indexhatárait többször is, tetszőlegesen újra lehet definiálni. Ilyenkor a tömb aktuális tartalma általában elvész. A Preserve kulcsszóval meg lehet őrizni a tömbértékeket, de ekkor csak az utolsó dimenzió felső határát lehet módosítani. Pénzügyi feladatok VBA támogatása – 4. előadás 7 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök deklarálása 3. Variant típusú változókhoz az Array függvénnyel rendelhetők - rögzített hosszúságú karakterláncok és saját típusú változók kivételével - tetszőleges típusú, valamint tetszőleges méretű és dimenziószámú tömbök. A változó altípus-kódja ilyenkor a tömb típuskódja; például Variant típusú tömb esetén 8204 (8192 + 12). Pénzügyi feladatok VBA támogatása – 4. előadás 8 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök A tömbelemekre kerek zárójelbe írt indexeikkel hivatkozunk. Minden tömbelemnek annyi indexe van, ahány dimenziós a tömb. Az egydimenziós tömbök elemeinek indexét sorszámnak, a kétdimenziós tömbök elemeiét sor- és oszlopszámnak, a háromdimenziósokéit lap-, sor- és oszlopszámnak is nevezzük. Pénzügyi feladatok VBA támogatása – 4. előadás 9 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök Az index számérték, számkonstans, numerikus változó, vagy számot eredményező kifejezés lehet. Az indexhatárok meghatározzák az indexek lehetséges értékét, és természetesen az elemek darabszámát is. Minden index értékének a megfelelő indexhatárok közé kell esnie. Pénzügyi feladatok VBA támogatása – 4. előadás 10 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök A tömbök helyfoglalása bájtban: 20 + 4*dimenziószám + elemszám*elemtípus. Ha a tömböt Variant típusú változóba ültetjük, további +12 bájtra van szükség. Például egy egydimenziós 6 elemű logikai (Boolean) tömb helyfoglalása 20 + 4*1 + 6*2 = 36 bájt; ugyanez Variant típusú változóban 48 bájt. Pénzügyi feladatok VBA támogatása – 4. előadás 11 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Tömbök Excel tömböket, azaz cellatartományokat csak Variant típusú változókhoz rendelhetünk hozzá! Az egy sorból, vagy egy oszlopból álló Excel tömbből egydimenziós, az elemi tartományból kétdimenziós VBA tömb lesz. Fordított irányban nincs típuskorlátozás: bármilyen típusú egydimenziós VBA tömbbel egy cellasort, kétdimenzióssal téglalap alakú Excel tartományt tölthetünk fel. Pénzügyi feladatok VBA támogatása – 4. előadás 12 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Példa Egydimenziós tömbök deklarálása 10 Long típusú elemből; az indexhatárok 1÷10, 0÷9, illetve 100÷109: Dim összeg(10) As Long Dim összeg(0 to 9) As Long Dim összeg(100 to 109) As Long Pénzügyi feladatok VBA támogatása – 4. előadás 13 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Példa Egydimenziós, 7 Variant típusú elemből álló tömb; indexhatárok 1÷7: Dim tömb(7) Lehetséges értékadások például: tömb(l) = „alma”, tömb(2) = 3.14, tömb(3) = True, … Pénzügyi feladatok VBA támogatása – 4. előadás 14 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Példa Kétdimenziós tömb, amely 48 Boolean (logikai) típusú elemből áll; indexhatárok 1÷4 és 11÷22: Dim tmb(4, 11 To 22) As Boolean Ehelyett: Dim tmb(1 To 4, 11 To 22) As Boolean Miért? Például a 3. sor 5, eleme: tmb (3, 15). Pénzügyi feladatok VBA támogatása – 4. előadás 15 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Példa Variant típusú változó, 7 elemű, String típusú tömbbel feltöltve, miáltal indextartománya 0÷6 lesz: Dim napok napok = Array(”Hétfő”, ”Kedd”, ”Szerda”, ”Csütőrtök”, ”Péntek”, ”Szombat”, „Vasárnap”) A napok(0) értéke „Hétfő”, a napok(6) értéke „Vasárnap”. Ha Variant típusú változóhoz az Array függvénnyel rendelünk tömböt, az alsó indexhatár mindig 0 lesz, akkor is, ha 1-re állítottuk az alapértelmezést! Pénzügyi feladatok VBA támogatása – 4. előadás 16 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Példa Definiálunk egy egész típusú dinamikus tömböt, amelyet a futás során először háromdimenziós 60 eleművé deklarálunk át: Static számok() As Integer Redim számok(1 to 3, 2 to 6, 4) Most a tömb első eleme számok (1,2,1), utolsó eleme számok(3,6,4), a számok(1,1,1) elem nem létezik! Pénzügyi feladatok VBA támogatása – 4. előadás 17 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Példa A következő deklarációban a határokat az x, y és z változó aktuális értéke szabja meg, de a tömb addigi tartalma elveszik: Redim számok (x, y, z) Harmadszor úgy változtatjuk meg a deklarációt, hogy megőrizzük a tömbelemek értékét, ám ekkor csak az utolsó dimenzió mérete változhat: Redim Preserve számok(x, y, 12) Pénzügyi feladatok VBA támogatása – 4. előadás 18 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás A tömbök indexelésének gyakorlására a gimp_31.xls munkafüzet tömbök munkalapján találunk egy zöld szegéllyel keretezett táblázatot. A táblázatnak csak az első 10 sora és 8 oszlopa tartalmaz értékes adatot, de a kitöltöttekkel összefüggő cellákban újabb adatok hozzáírásával bővíteni, vagy egész sorok, illetve oszlopok törlésével szűkíteni lehet a tartományt. A táblázatot a tömbök nevű makró-eljárás kezeli, amelyet a CTRL+A billentyűkombinációval lehet elindítani. Pénzügyi feladatok VBA támogatása – 4. előadás 19 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás A makró a következőképpen működik: Ha a „Sor” (B20) és az „Oszlop” (B21) cellába beírunk egy sor- és egy oszlopszámot, a megfelelő táblázatelem kiemelt színű lesz, és értéke egyidejűleg bekerül az „Érték” (E20) cellába. A sor és az oszlopszám természetesen nem haladhatja meg a kitöltött tartomány megfelelő méretét; ellenkező esetben az „Érték” cellában hibajelzést kapunk. Ugyancsak hibajelzéshez vezet, ha a kijelölt cella nem a kitöltött tartományban van. Pénzügyi feladatok VBA támogatása – 4. előadás 20 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás A makró a következőképpen működik: Ha a makró indításakor mind a sor-, mind az oszlopcella üres, az eljárás színezéssel kiemeli a táblázatban kijelölt cellát, és ennek értékét Írja az értékcellába. Pénzügyi feladatok VBA támogatása – 4. előadás 21 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás A makró a következőképpen működik: Az eljárásban a méretellenőrzéshez a CurrentRegion tulajdonságot használjuk, amely visszaadja azt a tartomány-objektumot, amelyben az aktív cella van. Ennek méreteit úgy határozza meg, hogy az aktív cellából indulva minden irányban kiterjeszti a kijelölést az első üres sorig és oszlopig, illetve a munkalap határáig. Egy kijelölt objektum - ebben az esetben a kijelölt tartomány - sorait a Rows, oszlopait a Columns konténerből lehet kiválasztani, számukat a Count tulajdonság adja meg. Pénzügyi feladatok VBA támogatása – 4. előadás 22 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Jövőbeni felhasználása során ügyeljünk rá, hogy a CurrentRegion tulajdonság az aktív cella sorát és oszlopát mindenképpen figyelembe veszi. Következésképpen akkor is 1 értéket ad a sor- és az oszlopszámra, ha a kijelölt tartomány minden cellája, illetve az aktív cella minden szomszédja üres! Ha ez a gyanú felmerül, előzetesen meg kell vizsgálni a helyzetet az IsEmpty függvénnyel. Pénzügyi feladatok VBA támogatása – 4. előadás 23 / 24

Pénzügyi feladatok VBA támogatása – 4. előadás Köszönöm a figyelmet! Folyt köv. Pénzügyi feladatok VBA támogatása – 4. előadás 24 / 24