Ebben a bejegyzésben az értékek és képletek beillesztésére mutatok VBA kódot. Az Irányított beillesztés és azon belül az érték beillesztése egy nagyon hasznos funkciója az Excelnek, úgy másolhatsz át képletet, vagy függvényt tartalmazó cellát, hogy a kiválasztott cellába CSAK az értékeket fogja beilleszteni.
Bővebben erről a Transzponálás és Értékek beillesztése Excelben bejegyzésünkben olvashatsz.
A leírásban használt fájlt innen letöltheted: Irányított beillesztés VBA kóddal
Használati példák:
- Szándékosan el tudod tüntetni a képleteket a cellákból azért, mert nem mutathatod meg az ügyfélnek a számítási formulákat.
- Nagy méretű tábláknál, amikor nem fontos, hogy frissüljön, akkor értékként beillesztve lehet gyorsítani az Excel működését/számítását.
- Rögzített árfolyamok esetében
- Amikor nem szeretnéd megtartani a formátumot, és elég ha csak az érték marad meg a cellában
Arról, hogy mit tud az Excel VBA az Excel VBA programozás – Ismertető című bejegyzésünkben olvashatsz.
Makró létrehozása az értékek beillesztéséhez
Sajnos nincs alapértelmezett billentyűparancsa az érték beillesztésének, ám ezen tudsz segíteni egy makróval. A következő rövid makró futtatásával értékként tudod beilleszteni a másolt cella/cellák tartalmát:
(Az ’-al kezdődő sorok megjegyzések, azokat figyelmen kívül hagyja a program, csak tájékoztatás miatt vannak).
A Visual Basic fejlesztő felületét (VBE) az ALT+F11 billentyűparanccsal érhető el. Ezen a felületen az Insert menüpont alatt található a Module lehetőség. Ezzel lehet egy új üres modult hozzáadni a fájlhoz.
Ebbe az üres module-ba kell bemásolni a fenti rövid kódot.
Billentyű hozzárendelése makróhoz
Így már az aktuális fájl tartalmazza az érték beillesztés kódját, de még hozzá kell rendelned egy billentyűparancsot. Ezt úgy teheted meg, hogy az Excel felületén megnyomod az ALT+F8 billentyűparancsot, vagy a fejlesztőeszközök menüszalag lapon kiválasztod a makrók gombot:
Ha nincs ilyen menüpontod, akkor a Nézet menüben jobb oldalon találod a Makrók megjelenítése lehetőséget.
A felugró ablakon, ha mindent jól csináltál, akkor megjelenik az „Ertek_beillesztes” nevű makró. Kiválasztod, és az egyebek gombra kattintva be tudod állítani, hogy melyik billentyű lenyomására fusson le a kód.
A példában a CTRL+SHIFT+v-t állítottam be, hiszen a normál beillesztés a CTRL+v, és így az érték beillesztés a SHIFT-el együtt használható. A billentyűparancsok alapbeállítása a CTRL+<betű>, ha SHIFT+<betű> nyomsz, akkor tudsz CTRL+SHIFT+<betű>-t beállítani. A Leírás mezőben saját megjegyzést is írhatsz.
Makróbarát munkafüzet mentése
Ha lemented ezt a fájlt makróbarát (.xlsm) verzióba, akkor ez a fájlod tartalmazni fogja ezt a billentyűparancsot.
Egyéni makró munkafüzet
Van lehetőséged úgy is elmenteni ezt a kódot, hogy minden megnyitott Excel fájlban elérhető legyen. Ezt úgy tudod elérni, hogy az egyéni-makrómunkafüzetbe kell bemásolni ezt a kódot.
Egyéni makró-munkafüzetet a legegyszerűbben egy makrórögzítéssel tudsz létrehozni. (Az Excel felület bal alsó sarkában van egy kis ikon, vagy Nézetek menü jobb oldalán, Makró rögzítése).
Erre a kis ikonra kattintva felugrik egy ablak, ahol meg tudod adni az adatokat (makrónév, billentyűparancs, leírás) és ki tudod választani a mentés helyét. Ha kiválasztod az Egyéni makró-munkafüzet-et, akkor a program létrehoz egy Personal.xlsb fájlt, amit mindig meg fog nyitni az Excellel a háttérben, és elérhető lesz a benne található kód is.
Nem kell csak egy műveletet végezned, például jelölj ki egy nem aktív cellát! Ezután meg kell állítanod a makrórögzítést, szintén a bal alsó sarokban van stop gomb ikon.
A VBE (Visual Basic Editor) felületen a bal oldali menüfában megjelent a personal.xlsb fájl, és annak van egy module1 nevű modulja. A module1-re duplán kattintva jobb oldalon megjelenik a rögzített kód:
A jobb oldali kódot nyugodtan ki lehet törölni, és az egyszerű, rövid „érték beillesztés” kódot a helyére lehet másolni.
A billentyű hozzárendelés már ugyanúgy működik, mint ahogy feljebb már olvastad. Figyelem! A Personal.xlsb fájlt külön kell menteni, rá is fog kérdezni az Excel, ha be szeretnéd zárni.
Makró létrehozása a képletek beillesztéséhez
Alkalmanként előfordul, hogy formátum nélkül kell másolni egy cella képletét. Ha sokszor van erre szükség, akkor erre is készíthetünk egy billentyűparancsot. Mindent ugyanúgy kell csinálnod, mint feljebb az érték beillesztésnél, csak más lesz a kód:
Ennek a kódnak a futtatását a CTRL+y billentyűparancsot állítottam be, de Te beállíthatod magadnak, amit szeretnél.
Ezek alapján létre tudsz hozni magadnak annyit, és olyan billentyűparancsot amennyit szeretnél (háttér színezés, betű színezés, sor-, oszlop beszúrás, stb.). A makrórögzítőt segítségül hívhatod, hogy megnézd milyen VBA parancsokat használtál a rögzítés során!
Fontos megjegyezni, hogy ezek a beillesztési kódok, csak az Excel celláinak a beillesztésére szolgálnak, tehát ha egy másik programból szeretnél egy szöveget formázás nélkül beilleszteni, az így nem fog sikerülni.
Remélem számodra is hasznos volt ez a blogposzt. Kérlek, oszd meg másokkal is!