Telefonszámunk: 1-472-0679

Az összes képlet átalakítása értékké egy kattintással

2013-09-18 - horvimi - Kategória: Macro-VBA, Tartományok kezelése
Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013

Gyakran felmerül az igény, hogy egy munkalapon a képleteket tartalmazó oszlopokat értékké alakítsuk. Ennek több oka is lehet:

  • Nem szeretnénk, hogy lássák a képleteket
  • Az értékké alakítással gyorsítjuk a működést, mert az Excel-nek nem kell állandóan újraszámolni  a képleteket

A probléma

A másolás / érték beillesztés műveletet mindenki ismeri. A baj az vele, hogy csak egy, összefüggő tartományban működik. Hiába jelölünk ki több tartományt pl. a Ctrl lenyomása mellett. A másolás is csak akkor működik, ha azonos a kijelölt területek sorainak a száma. De saját magára értékként nem lehet beilleszteni két egymással nem összefüggő területet.

Tobbszoros_kijeloles_ertek_beillesztes

A megoldás

A megoldás egy pár soros makró, ami kijelöli a képleteket tartalmazó cellákat (sorokat/oszlopokat), majd egy ciklussal végiglépked a kijelöléskor képződött területeken, és mindegyiket értékké alakítja.

[vb]

Sub keplet_helyett_ertek()

Range("a1").Select
‘Képleteket tartalmazó tartományok kijelölése
Selection.SpecialCells(xlCellTypeFormulas, 23).Select

‘A keletkezett területek bejárása és képlet-érték csere
For Each akt_range In Selection.Areas
akt_range.Formula = akt_range.Value
Next

End Sub

[/vb]

A fenti makrót másoljuk egy makró-munkafüzet egyik  moduljába, vagy a Personal (Egyéni) makró munkafüzet ,megfelelő moduljába, és máris kipróbálhatjuk.

A kapcsolódó videóban láthatjuk a folyamatot és a működést is. Ezen kívül mi van még a videóban?

  • Speciális kijelölés lehetőségei
  • Képleteket tartalmazó cellák kijelölése
  • Egyéni makró munkafüzet létrehozása (ha még nincs)
  • Makró elhelyezése az egyéni makró munkafüzetben
  • Eszköztár gomb rendelése a makróhoz

Vélemény, hozzászólás?