150 likes | 267 Views
Visual Basic for Application (VBA). Alapszint. Excel bevezető feladatok. Nyiss meg egy új, üres munkafüzetet! Hozd létre benne a szorzótáblát! Képletet csak a B2 cellába írj, majd azt másold jobbra illetve lefelé!. Excel bevezető feladatok.
E N D
Visual Basic forApplication (VBA) Alapszint
Excel bevezető feladatok • Nyiss meg egy új, üres munkafüzetet! • Hozd létre benne a szorzótáblát! Képletet csak a B2 cellába írj, majd azt másold jobbra illetve lefelé!
Excel bevezető feladatok • A http://vacip.web.elte.hu/excel honlapon a feladatok mappából töltsétek le a VBA.xls-t, és oldjátok meg a benne található feladatokat!
Makró rögzítés • Makró rögzítő használatával készíts makrót, ami: • A munkalap elejére beszúr két sort, ahova fejlécként személyes adatok kerülnek (név, telefon, cégnév, osztály stb., csak kreatívan! ) • Az aktuális cella hátterét világoskékre, betűit pirosra színezi, a tőle jobbra található cellába *-ot ír, és az eredeti alattiba áll!
Makró rögzítés • Makró rögzítő használatával készíts makrót, ami: • A VBA.xls szűrő munkalapjáról egy új munkalapra (előre hozd létre) kimásolja egymás alá a részleg vezetők nevét, és a hozzájuk tartozó egyenleget!A makró csak egy sort csináljon meg, aztán álljon a következő sor elejére!
Makró rögzítés • Készítsd el az itt látható elrendezést! • Készíts makrót, ami a középső oszlopba „összefésüli” a két számsort, azaz egyet innen, alá egyet onnan vesz! Csak egy sort csináljon meg a makród, aztán álljon a következő sorra!
Immediate ablak • Nyisd meg a VB Editort (excelben alt+F11) • A Nézet (View) menü Próbaablak (Immediate) parancsát válaszd ki! • Az ide írt egysoros parancsok azonnal végrehajtódnak az Excelben; így ez az ablak kiválóan alkalmas egyszerű VBA parancsok kipróbálására. • Próbáld ki a következő parancsokat!
Immediate ablak - Workbooks • Workbooks.add • ?workbooks.count • Workbooks.close • Kurzorral lépj vissza az első parancsra, és az Enter többszöri megnyomásával hajtsd végre 4-szer! • Válaszd ki az egyik munkafüzetet, majd: activeworkbook.close • ?Activeworkbook.name
Immediate ablak - Workbooks • Workbooks(„Munkafüzet3”).close • Workbooks(„Munkafüzet4”).activate • Workbooks(2).activate • ?activeworkbook.saved • Megadja, hogy el van-e mentve. Mivel nem volt benne változás, ezért mentettnek tekinti. A workbooknak ezt a tulajdonságát állíthatjuk is: • Activeworkbook.saved=false • Most próbáld ismét lekérdezni a „mentettségi” állapotát, majd zárd be kézzel az adott munkalapot!
Immediate ablak - Worksheets • Eddig a workbooks gyűjteménnyel és objektumaival foglalkoztunk, nézzük most a worksheets gyűjteményt! • Worksheets.add • Ezzel az aktív munkafüzethez adtunk hozzá egy újabb munkalapot. • Workbooks(1).worksheets.add • A legkorábban megnyitott munkafüzethez adunk hozzá egy új munkalapot • Próbálj meg egy meghatározott munkafüzethez új lapot adni! • Workbooks(”Book1”).worksheets.add
Immediate ablak - Worksheets • Worksheets(1).name=”elso” • Lehet halmozni az élvezeteket: • ?worksheets.add.name • Ez a parancs hozzáad egy munkalapot az aktív munkafüzethez, majd kiírja a nevét. • Worksheets(”elso”).copybefore:= workbooks(”munkafüzet2”).worksheets(2) • ?sheets.count
Immediate ablak - Egyebek • ?Activewindow.caption • Activewindow.caption=”Haha” • Most próbáld meg ugyanezt a parancsot használni az ablk feliratának átállítására! • Application.quit
Immediate ablak - Cells • Cells.select • A cellák gyűjtemény összes elemét kiválasztja, tehát kijelöli az összes cellát. • Cells(x).select • X egy tetszőleges szám; a cells gyűjtemény annyiadik elemét választja ki a parancs. Ennél kicsit kezelhetőbb forma: • Cells(x,y).select • Érték is adható: • Cells(x,y).value=”Helló” • ?Cells(x,y).value
Immediate ablak - Range • Range(”A1”).select • Range(”b1:d12”).select • Tartományt jelöl ki • Range(”A5”).activate • Mi a különbség a .Select és a .Activate között? Kísérletezz! • Hogyan lehet vajon a többszörös kijelölést megoldani? • Range(”A3”).interior.colorindex=3 • Egy cella minden tulajdonsága állítható • Néha van értelme halmozni: • Range(Cells(x,y),Cells(i,j)).Select
Immediate ablak - Offset • Activecell.Offset(s,o).Activate • Selection.offset(s,o).select • Mi a különbség? • Activecell.offset(1,0).activate • Az aktív cella alattit választja ki. • Hogyan lehet felfelé léptetni? És jobbra hármat? • Mikor adnak hibát a parancsok? • Activecell.offset(0,-1).value=”Helló” • Nem csak az aktív cellához lehet viszonyítani • Range(”B2”).offset(1,2).select