Ha követed az oldal írásait, észrevehetted hogy kicsit elmélyedtünk az Exfcel makróinak a világába. Eddig inkább csak említés szintjén használtuk a makrókat, azonban most egy valós felhasználását mutatom be a makróknak.
A feladat a következő:
Tegyük fel hogy a táblázatainkban többféle mennyiségi egységet használunk, és szeretnénk azt a táblázatokban jelezni is. Ehhez egy korábbi lecke anyagát fogjuk gombnyomásra elvégezni.
Nézzük melyik leckéket is érdemes átolvasni mielőtt nekilátsz:
- Formázási feldat volt korábban az Excel egyéni számformátum beállítása
- Jó ha tudod hogyan tudsz létrehozni egy Excel makrót
- Szükségünk lesz gombra is, úgyhogy átismételheted azt is, hogyan hozhatsz létre gombokat az Excel-ben
A megoldás
Makrók készítésekor érdemes mindig alaposan végiggondolni mitz is kell megoldanunk, és azt lépésekre bontani. Tehát van egy adattáblánk, ahol az egyik sor liter, a másik pedig darab mértékegységet kell hogy kapjon, valahogy így:
24 darab |
12 liter |
32 darab |
A módszerünk az lenne, hogy beállítjuk a cellák számformátumát. Azonban a mi esetünkben folyamatosan bővülő listáról van szó, ezért érdemes készíteni egy egyszerű makrót a számformátum beállítására. Vagyis nem kell kézzel állítgatnunk a formátumokat, hanem az a kijelölt cellán gombnyomásra megtörténik.
Tehát a lépések a következők (érdemes egy pár számot beírni a cellákba hogy lásd mit is csinálsz):
- Létrehozunk egy gombot, ami a kijelölt cella számformátumát darabra változtatja (Fejlesztőeszközök -> Beszúrás -> Gomb)
- Új makrót rögzítünk a felugró ablak Rögzítés parancsával
A makró rögzítésekor rögtön akad egy kis problémánk. A rögzítéskor kénytelenek vagyunk kijelölni egy cellát, mivel a fókusz jelenleg a gombunkon van, aminek ugye nincs ilyen formázási opciója. De semmi gond, jelöljük ki mondjuk az A1-es cellát, majd jobb klikk és Cellaformázás. Először a Darab mértékegységet állítjuk be, tehát legyen a formátum most ez : #0″ darab”
- Mentsük el, és próbáljuk ki a gombot. Most azt kell tapasztalnod, amit korábban megjósoltunk, hogy bárhová is lépsz a gomb megnyomására a fókusz mindig visszakerül az A1-es cellára.
Szerencsére ennek a problémának a megoldása nagyon egyszerű. Kattints a Makrók gombra, majd válaszd ki a makrót, amit legutóbb lefuttattál (ugye elnevezted? :)) Ezután válaszd a Szerkesztést.
A makród kódja valami ehhez hasonló lesz: Range(“A1”).Select <– Ez a sor jelöli ki az A1-es cellát, egyszerűen töröld
Selection.NumberFormat = “#0″” darab”””
- Mentésre nincs szükség, csak egyszerűen zárd be a Visual Basic szerkesztőt (Ne az Excel-t)
Ha a gombra kattintasz, mindig a kijelölt cella formátuma fog megváltozni.
Most ismételd meg mégegyszer a fenti lépéseket, egy új gombot létrehozva. A formátumkód itt legyen #0″ liter”
A végeredménynek valami ehhez hasonlónak kell lennie:
Végül néhány tippet szeretnék megosztani veled a hasonló feldatok helyes megoldása érdekében:
- Ha hasonló makrót szeretnél létrehozni. Ne félj megnézni a kódot, mint a példában is láttad egyszerűen kikövetkeztethető hogy melyik sor mit csinál.
- Mindig körültekintően járj el amikor a kódhoz nyúlsz
- A makró rögzítése előtt alaposan gondold át, mi fog történni, ha az adott eseménysort rögzíted. Érdemes rögzítés előtt elpróbálni a lépéseket, így sok problémától kímélheted meg magad később.
A kész feladatot le is töltheted innen!
Figyelem! A táblázat helyes működéséhez először engedélyezned kell a makrók futtatását a táblázatban!