VISUAL BASIC FOR APPLICATION VBA Ciklusok fggvnyek Feladatok
VISUAL BASIC FOR APPLICATION (VBA) Ciklusok, függvények
Feladatok � � Készíts makrót, ami a egy táblázatban felcseréli az A és a D oszlopot, az E oszlopot pedig áthelyezi a B elé! Készíts makrót, ami egy táblázat első (fejléc) sorát 15 soronként megismétli! � Ehhez első lépésben vegyél fel egy makrót, ami az adott lapon kijelöli, majd másolja az első sort, ezután 15 sort lejjebb megy, és beilleszti a másolt tartalmat! � Következő lépésben oldd meg, hogy addig ismétlődjön a lejjebb lépés/beillesztés, amig üres sorhoz nem érünk! � Haladó: oldd meg, hogy a másolás előtt egy üres sort is szúrjon be a fejlécnek a makró!
Emlékeztető Elágazás: If feltétel Then teendők ha feltétel igaz Else teendők ha feltétel nem igaz End if �
Emlékeztető Ciklus: Do Until feltétel teendők (ciklusmag) lépés a következő elemre! Loop � � Addig ismétli a ciklusmagot, amig a feltétel igazzá nem válik. � Létezik hátultesztelős változat, ami legalább egyszer mindenképpen lefut, illetve Until helyett While-t használó, ami akkor áll le, ha a feltétel hamissá válik.
Feladatok � � Készíts makrót, ami egy oszlop elemein végigszalad, és ha egymás utáni ismétlődést talál, törli az ismétlődő elemet tartalmazó cellát! Figyelj oda, hogy a makró akkor is jól működjön, ha egymás után többször ismétlődik egy elem! A lépésenkénti futtatás segíthet. Készíts makrót, ami „észreveszi” és jelöli valahogy, ha egy növekvően rendezett listában hibás, tehát az előtte lévőnél kisebb elemet talál!
Feladatok � � A http: //vacip. web. elte. hu/excel/feladatok/VBA tárhelyről töltsd le a VBA 3. xls-t, és oldd meg rajta a következő feladatokat! A BP balances lapon: � Készíts függvényt, ami az első oszlop számaiból kihámozza a számot! Tehát le kell vágni az USD-t, el kell hagyni a fölösleges szóközöket, a csillagot és a vesszőt, és a tizedespontot tizedesvesszőre kell cserélni. � Ezután készíts makrót, ami az A oszlopon végigszalad az aljáig, és minden cellát lecserél a letisztított számra!
Feladatok � � A dátumok lapon található számokat alakítsd dátummá! Az első egy vagy két karakter a nap, utána a hónap, majd az év következik. Készíts egy függvényt, ami minden alakra univerzálisan működik (Kell: HA()/IF(), DÁTUM()/DATE(), BAL()/LEFT(), KÖZÉP()/MID(), JOBB()/RIGHT(), HOSSZ()/LEN()). Ezután a fentihez hasonlóan készíts makrót, ami lecseréli a számokat valódi sátumokra!
Megoldások
Fejléc ismételgető Sub fejléc_másoló() Cells(1, 1). Activate Active. Cell. Offset(15, 0). Select Do Until Active. Cell. Value = "" Active. Cell. Entire. Row. Insert _ shift: =xl. Down Rows("1: 1"). Copy Active. Sheet. Paste Active. Cell. Offset(15, 0). Select Loop Application. Cut. Copy. Mode = False End Sub
Ismétlődők törlése Sub ism_törl 1() Do Until Active. Cell. Value = "" If Active. Cell. Value = _ Active. Cell. Offset(1, 0). Value Then Selection. Delete Else Active. Cell. Offset(1, 0). Select End If Loop End Sub
- Slides: 10