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.
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?
Hozzászólás küldéséhez be kell jelentkezni.