150 likes | 266 Views
Visual Basic for Application (VBA). Alapszint 2. Feladatok. Írj makrót, melyben egy előugró üzenetben megjelenik a „helló” szöveg! ( msgbox ”helló”) Írj makrót, ami kiírja az aktuális cella tartalmát egy előugró ablakba! (kell hozzá: msgbox …; activecell.value )
E N D
Visual Basic forApplication (VBA) Alapszint 2
Feladatok • Írj makrót, melyben egy előugró üzenetben megjelenik a „helló” szöveg! (msgbox ”helló”) • Írj makrót, ami kiírja az aktuális cella tartalmát egy előugró ablakba!(kell hozzá: msgbox …; activecell.value) • Írj makrót, mely a kijelölt területet kitölti a keresztneveddel! (selection.value…) • Írj makrót, amely a kijelölt területet kitölti az A1 cellában található szöveggel! (range(”A1”).value)
Feladatok • Írj makrót, melyben egy előugró üzenetben kiírja az aktív munkalap nevét! • Írj makrót, ami beleírja az aktív cellába a munkafüzet nevét! • Írj makrót, ami az aktív cella tartalmát lemásolja az aktív cella alattiba! • Írj makrót, amely kiírja egy előugró ablakba az aktív cella 100-szorosát! • Írj makrót, ami az aktív cella értékét a 100x-osára cseréli
Feladatok • Írj makrót, ami az aktív cellát megszorozza a balra lévővel, és az eredményt tőle jobbra írja! • Ugyanaz, mint az előbb, csak most msgbox-ban jelenjen meg az eredmény! • Írj makrót, ami egy üzenetben szól, hogy törölni fog, majd az aktív cellából törli az értéket! • Írj makrót, ami a kijelölt területről törli az értékeket, majd a cellák hátterét pirosra állítja!
Feladatok • Írj makrót, ami az aktív lapon az A1 cellától lefelé elkészíti a következő táblázatot: • Írj makrót, ami az aktív cellába beírja a cella pontos címét (munkafüzet neve, lap neve, cella címe) (.address parancs kell hozzá)
Feladatok • Elágazások: If … Then … • vagy If … Then … Else … End if
Feladatok elágazáshoz • Ha a kijelölt cella üres, írjon bele 1-et! • Ha a kijelölt cellában 10-nél nagyobb szám van, törölje ki! • Ha az aktív cella 10-nél kisebb, növelje 1-el, különben törölje ki ami benne van! • Ha az aktív cellában a keresztneved van, írja ki a teljes neved, különben törölje ki a cella tartalmát!
Feladatok elágazáshoz • Írj makrót, ami előugró üzenetben kiírja, hogy az aktív cella nagyobb, vagy nem nagyobb, mint a mellette lévő. • Írj makrót, ami előugró üzenetben kiírja, hogy az aktív cella kisebb, nagyobb, vagy egyenlő, mint a mellette lévő.
Feladatok • Készíts egy tömböt 0 és 200 közötti véletlen egész számokkal az A oszlopba! (Egymás alatti cellákba kerüljenek a számok!) Ezen a tömbön fogunk dolgozni. • Készíts makrót, ami… • … az utolsó értékre áll a tömbben! • … sorba rendezi a tömböt! • … a tömb után beszúr egy szum függvényt! • … a tömb után szúrja be a szum függvényt akkor is, ha a tömbben lehet egy-egy üres cella! * • … megkeres egy bizonyos értéket (pl. 100) a tömbben! • … megkeresi a B2 cellába írt értéket a tömbben!
Feladatok • Makró segítségével határozd meg a választ az alábbi kérdésekre! • Van-e 0 a tömbben? • Van-e 100-nál nagyobb szám? • Mi az első 100-nál nagyobb szám? • Hány darab 100-nál nagyobb szám van? • Hány darab 0 van? • Mi a legnagyobb szám a tömbben? • A 100-nál nagyobb számokat írd át egy másik tömbbe! *
Van-e 0? Sub van_e2() DoUntilActiveCell.Value = "" OrActiveCell.Value = "0" ActiveCell.Offset(1, 0).Select Loop IfActiveCell.Value = "0" Then MsgBox ("Van nulla!") Else MsgBox ("Nincs nulla!") End if End Sub
Hány darab 100-nál nagyobb szám van? Submegszamolas() Dim db As Integer 'a db nevű egész szám típusú változó definiálása DoUntilActiveCell.Value = "" IfActiveCell.Value > 100 Then db = db + 1 ActiveCell.Offset(1, 0).Select Loop MsgBox (db & " darab 100-nál nagyobb szám van.") End Sub
Mi a legnagyobb szám a tömbben? Submaxkivalasztas() DimmaxAs Integer max = -1 'kezdőérték adás, aminél remélhetőleg cask nagyobb elemek vannak a tömbben DoUntilActiveCell.Value = "" IfActiveCell.Value > maxThenmax = ActiveCell.Value ActiveCell.Offset(1, 0).Select Loop MsgBox (max & " a legnagyobb szám a tömbben.") End Sub