Top Banner
Alapszint
15

Visual Basic for Application (VBA)

Jan 19, 2016

Download

Documents

Zsolt Deak

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Visual Basic  for Application  (VBA)

Alapszint

Page 2: Visual Basic  for Application  (VBA)

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é!

A B C D E F G H I J K1 1 2 3 4 5 6 7 8 9 102 1 1 2 3 4 5 6 7 8 9 103 2 2 4 6 8 10 12 14 16 18 204 3 3 6 9 12 15 18 21 24 27 305 4 4 8 12 16 20 24 28 32 36 406 5 5 10 15 20 25 30 35 40 45 507 6 6 12 18 24 30 36 42 48 54 608 7 7 14 21 28 35 42 49 56 63 709 8 8 16 24 32 40 48 56 64 72 8010 9 9 18 27 36 45 54 63 72 81 9011 10 10 20 30 40 50 60 70 80 90 100

Page 3: Visual Basic  for Application  (VBA)

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!

Page 4: Visual Basic  for Application  (VBA)

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!

Page 5: Visual Basic  for Application  (VBA)

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!

Page 6: Visual Basic  for Application  (VBA)

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!

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

Page 7: Visual Basic  for Application  (VBA)

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!

Page 8: Visual Basic  for Application  (VBA)

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

Page 9: Visual Basic  for Application  (VBA)

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!

Page 10: Visual Basic  for Application  (VBA)

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

Page 11: Visual Basic  for Application  (VBA)

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”).copy before:=

workbooks(”munkafüzet2”).worksheets(2) ?sheets.count

Page 12: Visual Basic  for Application  (VBA)

?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

Page 13: Visual Basic  for Application  (VBA)

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

Page 14: Visual Basic  for Application  (VBA)

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

Page 15: Visual Basic  for Application  (VBA)

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