VBA1 parancsok
Download
Report
Transcript VBA1 parancsok
Alapszint
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é!
1
2
3
4
5
6
7
8
9
10
11
A B
1
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
C
2
2
4
6
8
10
12
14
16
18
20
D
3
3
6
9
12
15
18
21
24
27
30
E
4
4
8
12
16
20
24
28
32
36
40
F
5
5
10
15
20
25
30
35
40
45
50
G
6
6
12
18
24
30
36
42
48
54
60
H
7
7
14
21
28
35
42
49
56
63
70
I
8
8
16
24
32
40
48
56
64
72
80
J
9
9
18
27
36
45
54
63
72
81
90
K
10
10
20
30
40
50
60
70
80
90
100
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ő 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ő 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!
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
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!
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 4szer!
Válaszd ki az egyik munkafüzetet, majd:
activeworkbook.close
?Activeworkbook.name
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!
Eddig a workbooks gyűjteménnyel és
objektumaival foglalkoztunk, nézzük most a
worksheets gyűjteményt!
Worksheets.add
Workbooks(1).worksheets.add
Ezzel az aktív munkafüzethez adtunk hozzá egy újabb
munkalapot.
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
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
?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
Cells.select
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
A cellák gyűjtemény összes elemét kiválasztja, tehát
kijelöli az összes cellát.
Érték is adható:
Cells(x,y).value=”Helló”
?Cells(x,y).value
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
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