adatbázis rendszerek 1.szucs/ab1/oa/gy15_02...78/2 b it man makródefiníció by microsoft m ha a...
TRANSCRIPT
![Page 1: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/1.jpg)
B IT MAN78/1 v: 2015.09.27B IT MAN
Excel makrók
Adatbázis rendszerek 1.
Ismétlőrobotok
3. Gy:
![Page 2: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/2.jpg)
B IT MAN78/2
Makró definíció by Microsoft
m
Ha a Microsoft Excel programban ismétlődő feladatokat
kell megoldani, a feladatok automatizálásához makrókat
készíthetünk.
A makró egy olyan művelet vagy műveletsor, amelyet
bármennyi alkalommal futtathat.
Makró létrehozásakor rögzíti az egérkattintásokat és
billentyűleütéseket.
A makró létrehozása után szerkesztéssel módosíthatjuk
a makró működését.
![Page 3: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/3.jpg)
B IT MAN78/3
Előkészületek
File\Beállítások\Menüszalag testreszabása
– Fejlesztőeszközök bekapcsolása
![Page 4: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/4.jpg)
B IT MAN78/4
Próbamakró 1.
Írjuk be az adatokat, és kezdjük meg a Makró rögzítését!
![Page 5: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/5.jpg)
B IT MAN78/5
Próbamakró 2.
Formázzuk meg a táblázatot, ezután kattintsunk a
Rögzítés vége gombra.
![Page 6: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/6.jpg)
B IT MAN78/6
Próbamakró 3.
Másoljuk át az adatokat egy másik munkalapra, és
indítsuk el az előbb létrehozott makrót:
– Makrók\ Makró1 \Indítás
![Page 7: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/7.jpg)
B IT MAN78/7
Próbamakró 4.
A makró kódjának megtekintése:
– Makrók\ Makró1\Szerkesztés
![Page 8: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/8.jpg)
B IT MAN78/8
A Visual Basic megtanulása by Microsoft
m
Elsajátíthatja a Visual Basic programozási nyelv alapjait,
ha a rögzített makrót szerkeszteni próbálja.
A makró szerkesztéséhez a Fejlesztőeszközök lap Kód
csoportjában kattintson a Makrók gombra, jelölje ki a
rögzített makró nevét, majd kattintson a Szerkesztés
gombra. Ekkor megnyílik a Visual Basic Editor program.
A kódot megfigyelve láthatja, hogy a rögzített műveletek
hogyan jelennek meg a kódolásban. Egyes kódok
világosan érthetők, mások azonban kissé érthetetlenek
lesznek.
Kísérletezzen a kóddal, zárja be a Visual Basic Editor
programot, majd indítsa el újra a makrót. Figyelje meg,
hogy ezúttal más lesz-e az eredmény.
![Page 9: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/9.jpg)
B IT MAN78/9
Minimakró 1.
Készítsünk egy egyszerű makrót, mely összeszoroz két
számot.
B4=A2*B2
1
2
3
![Page 10: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/10.jpg)
B IT MAN78/10
Minimakró 2.
Írjuk be a kódot, ezután
indítsuk el a makrót.
1
2
3
4
![Page 11: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/11.jpg)
B IT MAN78/11
Minimakró 3.
Próbáljuk ki ugyanezt makrórögzítéssel:
– Makró rögzítése
– Név: Makró1, aztán OK
– Katt. a B4 cellába
– Képlet beírás: =A2 * B2
– Rögzítés vége
Az eredmény:
– Két egyforma
hatású makró,
– Eltérő kód.
== =
![Page 12: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/12.jpg)
B IT MAN78/12
Visual Basic – Hivatkozások
Az Excelbeli elnevezések Programkódbeli megfelelő
A B3 cella Cells(3,2)
A C4:G6 tartomány Range(Cells(4,3),Cells(6,7))
A B oszlop Columns(2)
A H, I, J oszlopokból álló tartomány Range(Columns(8),Columns(10))
A 2. sor Rows(2)
A 13.-tól a 16.-sorig tartó tartomány Range(Rows(13),Rows(16))
A munkalap összes cellája Cells
Meghatározott munkalap cellái Sheets(2).Cells
Az éppen aktuális cella ActiveCell
Az éppen kijelölt objektum (cella,
tartomány, rajz, diagramm)
Selection
![Page 13: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/13.jpg)
B IT MAN78/13
Visual Basic – Cellatulajdonságok
Programból úgy tudjuk ezeket a tulajdonságokat megadni,
hogy a cella, vagy tartomány után írjuk ponttal elválasztva
a tulajdonságot és = jel után adunk neki értéket.
A leggyakrabban használt tulajdonságok:
– Value: a cella értéke, ha szöveg, akkor idézőjelek
közé kell tenni.
• Cells(1,1).Value = ″Alma″
• Cells(1,1) = ″Alma″
– Interior.Color: a cella háttérszíne szövegesen
megadva. Az angol színelnevezéseket lehet
használni, csak elé kell írni egybe vele, hogy vb
• Cells(1,1).Interior.Color = vbRed
![Page 14: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/14.jpg)
B IT MAN78/14
Visual Basic – Cellatulajdonságok
– Interior.ColorIndex: a cella háttérszíne számmal
megadva. A Visual Basic 0-tól 56-ig számozza a
színeket. A 0 színkód alapértelmezett színt jelent:
háttér esetén fehér, karakter esetén fekete. Az A1
cella háttérszínét a következőképpen is pirosra lehet
állítani (a 3-as a piros szín kódja):
• Cells(1,1).Interior.ColorIndex = 3
– Font: a cella betűtípusa. Újabb ponttal elválasztva
lehet megadni stílust, típust, színt a fent ismertetett
módokon. A következő táblázatban példákat találunk
az A1 cella betűformázásaira:
![Page 15: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/15.jpg)
B IT MAN78/15
Visual Basic – Cellatulajdonságok
– Row, Column: a cella sor és oszlopszáma. Olyan
tulajdonságok, amit csak lekérdezni lehet,
megváltoztatni nem.
Betűtípus Arial-ra állítása Cells(1,1).Font.Name = ″Arial″
Betűszín pirosra állítása Cells(1,1).Font.Color = vbRed
vagy
Cells(1,1).Font.ColorIndex = 3
Betűméret 12-esre állítása Cells(1,1).Font.Size = 12
Félkövér betűre állítás Cells(1,1).Font.Bold = True
Dőlt betűre állítás Cells(1,1).Font.Italic = True
![Page 16: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/16.jpg)
B IT MAN78/16
Visual Basic – Cellatulajdonságok
Egy objektum több tulajdonságának megadásakor nem
kell az objektum megnevezését minden sorban leírni,
hanem a With, End With kulcsszavak között elég egyszer
megadni, hogy melyik objektumról van szó és aztán csak
a tulajdonságokat és a tulajdonságértékeket kell egymás
alatt sorolnunk minden sort ponttal kezdve.
Sub formaz()
With Cells(1, 1).Font
.Name = "Arial"
.Color = vbRed
.Size = 12
.Bold = True
.Italic = True
End With
End Sub
Munkafüzet1 – Module1 (Code)
![Page 17: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/17.jpg)
B IT MAN78/17
Visual Basic – Cellacímzés
Használhatjuk a hagyományos cellacímzést, pl. A1
Használhatjuk a Sor-Oszlop címzést is, pl. R1C1
A programozás során írt képleteinknél is fontos, hogy
abszolút vagy relatív hivatkozást használunk.
Hagyományos címzés: A1, $A$1
Sor-Oszlop címzés:
– Abszolút cím: R1C2 – B2 cella
– Relatív cím: A1-ben állva B2: R[1]C[1]
![Page 18: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/18.jpg)
B IT MAN78/18
Visual Basic – Cellacímzés
A Sor-Oszlop címzésnél a sor számát mindig egy R, az
oszlop számát pedig egy C betű után kell írni. Azaz:
például a B1-es cella az R1C2 kóddal hivatkozható. Ez a
hivatkozás abszolút.
Relatív hivatkozásnál a sorszám helyett azt kell számmal
megadnunk, hogy hány cellát kell elmozdulnunk. Ha
nem váltunk sort, vagy oszlopot, akkor nem kell írni
semmit, ha váltunk, akkor pedig az elmozdulás mértékét
szögletes zárójelek között kell megadni. Azaz az eggyel
fel és kettővel jobbra lévő cellára hivatkozhatunk az
R[-1]C[2] kóddal.
![Page 19: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/19.jpg)
B IT MAN78/19
Visual Basic – Cellacímzés
Írjuk be a B1 cellába az =2*A1 képletet:
Írjuk be a B1 cellába az =2*$A$1 képletet:
Cells(1, 2) = "=2*A1"
Cells(1, 2) = "=2*RC[-1]"
Cells(1, 2) = "=2*$A$1"
Cells(1, 2) = "=2*R1C1"
Munkafüzet1 – Module1 (Code)
Munkafüzet1 – Module1 (Code)
![Page 20: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/20.jpg)
B IT MAN78/20
Visual Basic – Függvények
Készítsük el a következő táblázatot:
Ugyanez makróval:
Sub Hatványozó()
Cells(2, 3) = "=HATVÁNY(A2, B2)"
End Sub
Munkafüzet1 – Module1 (Code)
![Page 21: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/21.jpg)
B IT MAN78/21
Visual Basic – Függvények
Megoldás
Tehát:
– angol függvényneveket kell használni,
– a paramétereket vesszővel kell elválasztani.
Sub Hatványozó()
Cells(2, 3) = "=POWER(A2, B2)"
End Sub
Munkafüzet1 – Module1 (Code)
![Page 22: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/22.jpg)
B IT MAN78/22
Visual Basic – Munkafüzet mentése
Ha van makró a munkafüzetben, Makróbarát Excel
munkafüzetként (*.xlsx) lehet elmenteni!
![Page 23: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/23.jpg)
B IT MAN78/23
Feladat 1.
Készítsünk egy makrót, amely kiszínezi az A1:C11
tartományt a B13 cellába beírt kódnak megfelelő
színűre. A színkód 0-56 közötti lehet. A színezés után a
B13 cella legyen az aktuális.
Készítsünk egy másik makrót is, mely kitörli a tartomány
háttérszínét (színkód=0). A törlés után a B13 cella legyen
az aktuális.
![Page 24: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/24.jpg)
B IT MAN78/24
Feladat 1. – Megoldás
Sub Makró1()
Range("A1:C11").Interior.ColorIndex = Cells(13, 2)
Cells(13, 2).Select
End Sub
-----------------------------------------------------------------------
Sub Makró2()
Range("A1:C11").Interior.ColorIndex = 0
Cells(13, 2).Select
End Sub
Munkafüzet1 – Module1 (Code)
![Page 25: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/25.jpg)
B IT MAN78/25
Visual Basic – Nyomógombok
Készítsünk két nyomógombot, és rendeljük hozzájuk az
elkészült makrókat.1
2
3
4
![Page 26: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/26.jpg)
B IT MAN78/26
Visual Basic – Nyomógombok
A végeredmény:
5
![Page 27: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/27.jpg)
B IT MAN78/27
Feladat 2.
Készítsünk egy makrót, amely az A1:C5 tartomány
háttérszínét pirosra, betűszínét fehérre, betűtípusát
TimesNR 12-es dőltbetűsre állítja. A formázás után az F2
cella legyen az aktuális.
Készítsünk egy másik makrót is, mely visszaállítja az
előző formázásokat: nincs háttérszín, és Calibri 11-es
normál típusúak lesznek a betűk. A formázás után az F2
cella legyen az aktuális.
A két makrót nyomógombokkal lehessen indítani.
![Page 28: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/28.jpg)
B IT MAN78/28
Feladat 2. – Megoldás (Formázás)
Sub Formáz()
Range("A1:C5").Select
With Selection.Font
.Name = "Times New Roman"
.Color = vbWhite
.Size = 12
.Italic = True
End With
Range("A1:C5").Interior.ColorIndex = 3
Cells(2, 6).Select
End Sub
Munkafüzet1 – Module1 (Code)
![Page 29: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/29.jpg)
B IT MAN78/29
Feladat 2. – Megoldás (VisszaFormázás)
Sub VisszaFormáz()
Range("A1:C5").Select
With Selection.Font
.Name = "Calibri"
.Color = vbBlack
.Size = 11
.Italic = False
End With
Range("A1:C5").Interior.ColorIndex = 0
Cells(2, 6).Select
End Sub
Munkafüzet1 – Module1 (Code)
![Page 30: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/30.jpg)
B IT MAN78/30
Feladat 2. – Megoldás
![Page 31: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/31.jpg)
B IT MAN78/31
Visual Basic – Feltételes utasítás
Az If és az End If kötelező, az Else ág elhagyható
If feltétel Then
utasítások, amelyek akkor futnak le, ha a feltétel igaz
Else
utasítások, amelyek akkor futnak le, ha a feltétel hamis
End If
Munkafüzet1 – Module1 (Code)
![Page 32: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/32.jpg)
B IT MAN78/32
Visual Basic – Ciklusok
Ha nem adtunk meg lépésközt, akkor annak értéke: +1
For ciklusváltozó = kezdőérték To végérték Step_ lépésköz
ciklusmag
Next
Munkafüzet1 – Module1 (Code)
Do While feltétel
ciklusmag
Loop
Munkafüzet1 – Module1 (Code)
Elöltesztelő
Do
ciklusmag
Loop Until feltétel
Munkafüzet1 – Module1 (Code)
Hátultesztelő
![Page 33: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/33.jpg)
B IT MAN78/33
Visual Basic – Ciklusok
Összegzés 1-10-ig a különböző ciklusokkal
ossz = 0
For i = 1 To 10
ossz = ossz + i
Next
ossz = 0
i = 1
Do While i <= 10
ossz = ossz + i
i = i + 1
Loop
ossz = 0
i = 1
Do
ossz = ossz + i
i = i + 1
Loop Until i > 10
Munkafüzet1 – Module1 (Code)
![Page 34: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/34.jpg)
B IT MAN78/34
Megoldás
Feladat 3.
Készítsünk makrót, amely az A
oszlopot feltölti az egész
számokkal 1-től 56-ig! A B oszlop
celláinak háttérszíne legyen az A
oszlopban lévő számoknak
megfelelő!
Sub SzínFeltölt()
For i = 1 To 56
Cells(i, 1) = i
Cells(i, 2).Interior.ColorIndex = i
Next
End Sub
Munkafüzet1 – Module1 (Code)
![Page 35: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/35.jpg)
B IT MAN78/35
Feladat 4.
Készítsünk makrót, amely feltölti az A1:J10 tartományt a
10*10-es szorzótáblával! A 3-mal osztható számok
hátterét színezzük sárgára, az egy maradékot adókét
kékre, a 2 maradékot adókét zöldre!
Megoldás
Sub Szorzótábla()
For i = 1 To 10
For j = 1 To 10
Cells(i, j) = i * j
If i * j Mod 3 = 0 Then Cells(i, j).Interior.ColorIndex = 3
If i * j Mod 3 = 1 Then Cells(i, j).Interior.ColorIndex = 41
If i * j Mod 3 = 2 Then Cells(i, j).Interior.ColorIndex = 10
Next
Next
End Sub
Munkafüzet1 – Module1 (Code)
![Page 36: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/36.jpg)
B IT MAN78/36
Visual Basic – Beolvasás, kiírás
Sub Üdvözöl()
Do
nev = InputBox("Hogy hívnak?", "Kérdés")
Loop Until nev <> Empty
MsgBox "Szervusz kedves " & nev & "!", 0, "Üdvözlet"
End Sub
Munkafüzet1 – Module1 (Code)
![Page 37: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/37.jpg)
B IT MAN78/37
Visual Basic – Véletlen számok
A véletlen számok generálására szolgáló függvény az
Rnd.
Ez a függvény így argumentum nélkül használható és
egy véletlen számot ad eredményül 0 és 1 félig zárt
intervallumban, 0 lehet, 1 nem.
Ennek a függvénynek a transzformálásával lehet
megadni, hogy milyen számokat akarunk generálni.
Például –10 és +10 közötti páros számokat szeretnénk,
úgy hogy a –10 és a +10 is közte legyen:
(Int(Rnd*11) - 5)*2
![Page 38: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/38.jpg)
B IT MAN78/38
Visual Basic – Véletlen számok
Sub Véletlen()
For i = 1 To 5
For j = 1 To 7
Cells(i, j) = Int((100 * Rnd) + 1)
Next
Next
End Sub
Munkafüzet1 – Module1 (Code)
![Page 39: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/39.jpg)
B IT MAN78/39
Megoldás
Feladat 5.
Sub Feladat5()
Cells.Interior.ColorIndex = 0
Cells.Font.ColorIndex = 0
Randomize
For i = 2 To 18
Cells(i, 1) = Int(Rnd * 14 - 6)
If Cells(i, 1) Mod 2 = 0 Then
Cells(i, 1).Font.Color = vbBlue
Else
Cells(i, 1).Interior.Color = vbYellow
End If
Next
End Sub
Munkafüzet1 – Module1 (Code)
Mi a funkciója a makrónak?
![Page 40: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/40.jpg)
B IT MAN78/40
Visual Basic – Változók
A leggyakoribb változó típusok:Név Típus Tartalom
Byte Egész szám 0 – 255
Integer Egész szám -32 768 – +32 767
Long Egész szám -2 147 483 648 – +2 147 483 647
Single Valós szám -3.402823E38 – +3.402823E38.
Double Valós szám-1.79769313486232D308 –
+1.79769313486232D308
String Szöveg Szöveg
Date Dátum Dátum és idő
Boolean Logikai True vagy False.
Object Objektum Microsoft Object.
Variant Bármilyen típusA nem deklarált változó típusa, a bele
kerülő adattól függ a felvett típus
![Page 41: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/41.jpg)
B IT MAN78/41
Visual Basic – Változók
Visual Basicben nem kötelező a változók deklarálása
(definiálása).
A változók Variant típussal jönnek létre első
használatkor.
Ha a változót definiáltuk valamilyen típusra, akkor a
megadott típusnak megfelelő műveleteket hajthatunk
végre vele. Ez gondokat is okozhat, ha nem megfelelő
tartalmat adunk meg.
Változót a Dim kulcsszó segítségével deklarálhatunk:
– Dim változónév As változótípus
– Dim i,j,k As integer
![Page 42: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/42.jpg)
B IT MAN78/42
Visual Basic – Változók
A VBA-ban elég gyakran működik az automatikus
típuskonverzió, azaz ha például egy szöveg típusú
számot tartalmazó változóval számra jellemző műveletet
végzünk (szorzás, osztás, stb.), akkor az számként fog
viselkedni.
Sub Prb()
Dim a As Double
Dim b As String
a = 10
b = 3.2
Cells(1, 1) = a + b
End Sub
Munkafüzet1 – Module1 (Code)
![Page 43: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/43.jpg)
B IT MAN78/43
Visual Basic – Néhány hasznos függvény
Számvizsgálat: IsNumeric(Változó)
– Ha a változó tartalma numerikus érték értéke True,
egyébként False.
Sub bekerciklus()
Dim szam As Variant
szam = InputBox("Kérem a születési évedet!")
Do While IsNumeric(szam) = False
MsgBox ("Ismételje meg, nem számot adott")
szam = InputBox("Kérem a születési évedet!")
Loop
Cells(3, 4) = szam
End Sub
Munkafüzet1 – Module1 (Code)
![Page 44: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/44.jpg)
B IT MAN78/44
Visual Basic – Néhány hasznos függvény
Val(érték) – Valós számmá konvertál. A ,-től
megbolondul.
Str(érték) – Szöveggé konvertál
Int(érték) – Egész számmá konvertál
![Page 45: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/45.jpg)
B IT MAN78/45
Visual Basic – Tömbök
A tömbváltozóknak az a jellemzője, hogy egy névvel és
egy indexszámmal azonosítjuk őket. Az azonos nevű,
azonos típusú és különböző indexszámú változók
alkotnak egy tömböt.
Visual Basic-ben az indexszámot ()-be kell írni.
Deklarálásnál meg kell adnunk a To kulcsszó
segítségével az indexek kezdő és záró értékét, vagy
csak a záróértéket:
– Dim A(0 To 5) As String
– Dim B(5) As String
![Page 46: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/46.jpg)
B IT MAN78/46
Visual Basic – Tömbök
Sub Tomb1()
Dim nev(1 To 5) As String
For i = 1 To 5
nev(i) = InputBox(i & ". név:")
Cells(i, 1) = nev(i)
Next
End Sub
Munkafüzet1 – Module1 (Code)
![Page 47: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/47.jpg)
B IT MAN78/47
Megoldás
Feladat 6.
Sub Feladat6()
x = 1
For i = 2 To 10
If Cells(i, 1) < Cells(x, 1) Then
x = i
End If
Next
MsgBox ("Az eredmény: " & Cells(x, 1))
End Sub
Munkafüzet1 – Module1 (Code)
Mi a funkciója a makrónak?
![Page 48: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/48.jpg)
B IT MAN78/48
Megoldás
Feladat 7.
Sub Feladat7()
For i = 10 To 2 Step -1
For j = 1 To i - 1
If Cells(j, 1) > Cells(j + 1, 1) Then
s = Cells(j, 1)
Cells(j, 1) = Cells(j + 1, 1)
Cells(j + 1, 1) = s
End If
Next j
Next i
End Sub
Munkafüzet1 – Module1 (Code)
Mi a funkciója a makrónak?
![Page 49: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/49.jpg)
B IT MAN78/49
Feladat 8.
Sub vr()
For i = 1 To 10
Cells(i, 2).Value = WorksheetFunction.RandBetween(0, 1000)
Next i
For i = 1 To 10
For j = i + 1 To 10
If Cells(j, 2).Value < Cells(i, 2).Value Then
tempString = Cells(i, 1).Value
Cells(i, 1).Value = Cells(j, 1).Value
Cells(j, 1).Value = tempString
tempInteger = Cells(i, 2).Value
Cells(i, 2).Value = Cells(j, 2).Value
Cells(j, 2).Value = tempInteger
End If
Next j
Next i
Range("B1:B10").Clear
End Sub
Munkafüzet1 – Module1 (Code)
Mi a funkciója a makrónak?
![Page 50: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/50.jpg)
B IT MAN78/50
Megoldás
Feladat 8.
![Page 51: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/51.jpg)
B IT MAN78/51
Visual Basic – Diagram rajzolás
Sub Tomb1()
Dim abra As ChartObject
Set abra = ActiveSheet.ChartObjects.Add(
Left:=140, Width:=400, Top:=100, Height:=300)
abra.Chart.SetSourceData (ActiveSheet.Range("A1:B7"))
abra.Chart.ChartType = xl3DColumnClustered
End Sub
Munkafüzet1 – Module1 (Code)
![Page 52: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/52.jpg)
B IT MAN78/52
Visual Basic – Diagram rajzolás
![Page 53: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/53.jpg)
B IT MAN78/53
Visual Basic – Extramini adatbázis-kezelő
1
Ctrl A+2
3
4
5
6
7
![Page 54: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/54.jpg)
B IT MAN78/54
Visual Basic – Extramini adatbázis-kezelő
Sub auto_open()
'Az ilyen nevű makró a fájl indításakor automatikusan lefut
uzi = "A ctrl+a megnyomásával kezdeményezhető az adatfelvétel"
'A szöveget betesszük az uzi nevű változóba
MsgBox uzi, 64, "INFO"
'uzi a szöveg, 64 a ikon kódja, INFO az ablak fejléc felirata
End Sub
-------------------------------------------------------------------------------------
Sub kerdes()
valasz = MsgBox("Ír be új adatot?", 36, "Kérdés")
'Igen gomb esetén a 6-os értéket veszi fel, 36 - ikon
If valasz = 6 Then
adatbe
End If
End Sub
Munkafüzet1 – Module1 (Code)
![Page 55: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/55.jpg)
B IT MAN78/55
Visual Basic – Extramini adatbázis-kezelő
Sub adatbe()
Range("A1").Select
Selection.CurrentRegion.Select
'Meghatározza hány sorból áll a táblázat
sor = Selection.Rows.Count
'A következő beírás sorának a száma
hova = sor + 1
Cells(hova, 1).Select
'Információk bekérése inputboxokkal
neve = InputBox("Adja meg a nevet!", "Név")
kora = InputBox("Adja meg az életkort!", "Életkor")
lakik = InputBox("Adja meg a címet!", "Lakcím")
Cells(hova, 1) = neve
Cells(hova, 2) = kora
Cells(hova, 3) = lakik
kerdes 'A kerdes nevű makró meghívása
End Sub
Munkafüzet1 – Module1 (Code)
![Page 56: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/56.jpg)
B IT MAN78/56
Visual Basic – Extramini adatbázis-kezelő
![Page 57: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/57.jpg)
B IT MAN78/57
Szupermini adatbázis-kezelő
Űrlap segítségével vihetők fel, és listázhatók ki az
adatok
![Page 58: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/58.jpg)
B IT MAN78/58
Szupermini adatbázis-kezelő
1
2
3
4
![Page 59: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/59.jpg)
B IT MAN78/59
Szupermini adatbázis-kezelő
Label
TextBox
Button
![Page 60: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/60.jpg)
B IT MAN78/60
Szupermini adatbázis-kezelő
Felirat
szövege
Betűtípus,
betűméret
Minden eszköznél
ugyanígy:
- Label,
- TextBox,
- Button
![Page 61: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/61.jpg)
B IT MAN78/61
Szupermini adatbázis-kezelő
Dim id As Integer, i As Integer, j As Integer, flag As Boolean
------------------------------------------------------------------------------
Sub Indit()
UserForm1.Show
End Sub
------------------------------------------------------------------------------
Sub ClearForm()
For j = 1 To 3
UserForm1.Controls("TextBox" & j).Value = ""
Next j
End Sub
Munkafüzet1 – Module1 (Code)
![Page 62: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/62.jpg)
B IT MAN78/62
Szupermini adatbázis-kezelő
Sub GetData()
If IsNumeric(UserForm1.TextBox1.Value) Then
flag = False
i = 0
id = UserForm1.TextBox1.Value
Do While Cells(i + 1, 1).Value <> ""
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 3
UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 2 To 3
UserForm1.Controls("TextBox" & j).Value = ""
Next j
End If
Else
ClearForm
End If
End Sub
Munkafüzet1 – Module1 (Code)
![Page 63: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/63.jpg)
B IT MAN78/63
Szupermini adatbázis-kezelő
Sub EditAdd()
Dim emptyRow As Long
If UserForm1.TextBox1.Value <> "" Then
flag = False
i = 0
id = UserForm1.TextBox1.Value
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
Do While Cells(i + 1, 1).Value <> ""
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 3
Cells(i + 1, j).Value = UserForm1.Controls("TextBox" & j).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 1 To 3
Cells(emptyRow, j).Value = UserForm1.Controls("TextBox" & j).Value
Next j
End If
End If
End Sub
Munkafüzet1 – Module1 (Code)
![Page 64: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/64.jpg)
B IT MAN78/64
Szupermini adatbázis-kezelő
12
3 4
EszközökAkciók
Működést leíró kódok
2x
Működést leíró kód
Eszköz Akció
![Page 65: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/65.jpg)
B IT MAN78/65
Szupermini adatbázis-kezelő
Private Sub UserForm_Initialize()
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
GetData
End Sub
Private Sub CommandButton1_Click()
EditAdd
End Sub
Private Sub CommandButton2_Click()
ClearForm
End Sub
Private Sub CommandButton3_Click()
Unload Me
End Sub
Munkafüzet1 – UserForm1 (Code)
![Page 66: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/66.jpg)
B IT MAN78/66
Szupermini adatbázis-kezelő
![Page 67: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/67.jpg)
B IT MAN78/67
Feladat 9. – A Főnök régi kedvence
A Főnök gépén frissült a Windows, és eltűnt régi
kedvenc telefon regisztere. Maradt róla egy kép, és a
kódok zöme.
Állítsa helyre a Főnök régi kedvenc programját!
Picit én is segítek!
![Page 68: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/68.jpg)
B IT MAN78/68
Feladat 9. – A Főnök régi kedvence
![Page 69: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/69.jpg)
B IT MAN78/69
Feladat 9. – A Főnök régi kedvence
Option Explicit
Dim POZICIO As Integer
Dim darab As Integer
Private Sub UserForm_Activate()
'A form indulásakor végrehajtott utasítások
POZICIO = 1
darab = 1
Dim i As Integer
For i = 2 To 20
If Cells(i, "a") = "" Then
darab = i - 1
Exit For
End If
Next i
If darab > 1 Then
CommandButton1.Visible = True
Else
CommandButton1.Visible = False
End If
Label3.Caption = darab - 1
End Sub
Munkafüzet1 – UserForm1 (Code)
![Page 70: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/70.jpg)
B IT MAN78/70
Feladat 9. – A Főnök régi kedvence
Private Sub CommandButton1_Click()
' Törlés gomb
Dim i As Integer
If POZICIO < darab Then
For i = POZICIO + 1 To darab
Cells(i - 1, 1) = Cells(i, 1)
Cells(i - 1, 2) = Cells(i, 2)
Cells(i - 1, 3) = Cells(i, 3)
Next i
Cells(darab, 1) = ""
Cells(darab, 2) = ""
Cells(darab, 3) = ""
Else
Cells(POZICIO, 1) = ""
Cells(POZICIO, 2) = ""
Cells(POZICIO, 3) = ""
End If
If darab > 1 Then
darab = darab - 1
Else
CommandButton1.Visible = False
End If
End Sub
Munkafüzet1 – UserForm1 (Code)
![Page 71: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/71.jpg)
B IT MAN78/71
Feladat 9. – A Főnök régi kedvence
Private Sub CommandButton2_click()
'Adatok felvitele
Dim szoveg As String
Dim i, x As Integer
If TextBox1.Value <> "" Then
darab = darab + 1
Cells(darab, "a") = TextBox1.Value
Cells(darab, "b") = TextBox2.Value
Cells(darab, "c") = CheckBox1.Value
TextBox1.Value = ""
TextBox2.Value = ""
CheckBox1.Value = False
Else
If darab <> 1 Then
MsgBox ("Üres név nem vihető fel!")
End If
End If
Label3.Caption = darab - 1
End Sub
Munkafüzet1 – UserForm1 (Code)
![Page 72: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/72.jpg)
B IT MAN78/72
Feladat 9. – A Főnök régi kedvence
Private Sub CommandButton3_click()
'Lista gomb - Listázás
TextBox1.Value = Cells(2, 1)
TextBox2.Value = Cells(2, 2)
CheckBox1.Value = Cells(2, 3)
POZICIO = 2
Label3.Caption = POZICIO - 1
End Sub
Private Sub CommandButton4_click()
'Módosítás
Cells(POZICIO, "a") = TextBox1.Value
Cells(POZICIO, "b") = TextBox2.Value
Cells(POZICIO, "c") = CheckBox1.Value
End Sub
Munkafüzet1 – UserForm1 (Code)
![Page 73: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/73.jpg)
B IT MAN78/73
Feladat 9. – A Főnök régi kedvence
Sub bevitel(ByRef s As Integer)
TextBox1.Value = Cells(s, 1)
TextBox2.Value = Cells(s, 2)
CheckBox1.Value = Cells(s, 3)
End Sub
Private Sub SpinButton1_SpinUp()
If POZICIO > 2 Then POZICIO = POZICIO - 1
Label3.Caption = POZICIO - 1
bevitel (POZICIO)
End Sub
Private Sub SpinButton1_SpinDown()
If POZICIO < darab Then POZICIO = POZICIO + 1
Label3.Caption = POZICIO - 1
bevitel (POZICIO)
End Sub
Munkafüzet1 – UserForm1 (Code)
![Page 74: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/74.jpg)
B IT MAN78/74
Feladat 9. – A Főnök régi kedvence
Terület kijelölése,
elnevezése12
ListBox létrehozása, beállítása
Háttérszín
Oszlopok száma
Nem szerkeszthető
Betűméret
Adatok forrása
3
![Page 75: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/75.jpg)
B IT MAN78/75
Feladat 9. – A Főnök régi kedvence
Sub indit()
UserForm1.Show
End Sub
Munkafüzet1 – Module1 (Code)
![Page 76: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/76.jpg)
B IT MAN78/76 B IT MAN
![Page 77: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/77.jpg)
B IT MAN78/77
Lévayné dr. Lakner Mária – Baksa-Haskó Gabriella:
Excel 2003 táblázatkezelés és programozás a
gyakorlatban, ComputerBooks Budapest, 2006
Felhasznált irodalom
![Page 78: Adatbázis rendszerek 1.szucs/ab1/oa/Gy15_02...78/2 B IT MAN Makródefiníció by Microsoft m Ha a Microsoft Excel programban ismétlődő feladatokat kell megoldani, a feladatok automatizálásához](https://reader033.vdocuments.site/reader033/viewer/2022041813/5e58d857a7a668465f4e5f2e/html5/thumbnails/78.jpg)
B IT MAN78/78
VÉGEVÉGE