Nem valószínűsítem, hogy ez sokaknál előfordult már egyáltalán kérdésként és ha valakinél elő is jött, valószínűleg ott is egy nem igazán átlagos feladat részeként - a cél az lenne, hogy egy formulát tartalmazó cellából ki kell olvasnunk a formulát, majd még le is kellene futtatnunk egy másik cellában.
A feladat annyi lenne, hogy egy másik cellába olvastassuk ki ezt a függvényt, majd futtassuk is le, tehát egy másik cellába is kapjuk meg a szummánk eredményét. Az Excel ehhez már kínál nekünk beépített funkciót is, ez a FORMULATEXT nevű függvény, amely szépen vissza is adja szövegként a függvényünket:
Viszont a futtatáshoz szükségünk van egy aprócska kódra VBA-ban, úgyhogy gyorsan ugorjunk is be ALT+F11-gyel a VBA-editorba. A következő funkciót fogjuk definiálni egy modulban:
Function Futtat (Content as String)
Futtat = Evaluate (Content)
End Fuction
A funkció a cella szöveges tartalmát felveszi paraméterként, majd az evaluate funkcióval végrehajtuk a megadott formulát és visszaadjuk az eredményt.
Innentől kezdve ezzel a custom funkcióval már végre tudjuk hajtani a FORMULATEXT segítségével kiszedett, szövegformátumú függvényt.
A másik megoldáshoz nem kell VBA, bár az egy kicsit macerásabb. Első lépésként lépjünk be a Formulas ribbonfül Defined Names szekciójában lévő Name Managerbe és hozzunk létre egy új nevesített tartományt:
Ez legyen mondjuk a "Futtat" névre hallgató tartomány, amely az EVALUATE funkció segítségével lefuttatja a sheetünk megadott cellájában lévő, szövegformátumú függvényt.
Fontos, hogy az EVALUATE kizárólag a Name managerben használható, ha nem hoztuk létre a custom funkciót, akkor nem tudjuk cellából közvetlenül meghívni. Szóval ha megvan a definált tartomány, akkor már csak beírjuk egy cellába és kész is vagyunk: