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.

Irányított beillesztés VBA kóddal – Értékek és képletek

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:

Copy to Clipboard

(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.

VBA új modul

Ebbe az üres module-ba kell bemásolni a fenti rövid kódot.

VBA kód

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:

Makrók

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.

Makró futtatása

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ü billentyűparancs

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.

Makróbarát munkafüzet

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).

Makrórögzítés

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.

Egyéni makrómunkafüzet

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.

Makró rögzítése és leállítása

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:

Egyéni makró

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.

Egyéni makró personal xlsb

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.

Personal xlsb

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:

Copy to Clipboard

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!