Formel in Excel verknüpfen/verketten/zusammensetzen?

3 Antworten

Was du suchst ist eine Formel die aus dem Datentyp "Text" (den die Zellen in Spalte B haben) den Datentyp "Formel" macht und auswertet. Also eine Formel die einen Text als Argument erwartet und was da drin ist ausführt.

In den meisten Skriptsprachen, wie PHP oder JavaScript gibt es sowas: die "eval"-Funktion (steht für evaluate). In Excel gibt's aber eine solche Formel nicht. Die meisten Programmierer halten eine solche Funktion für mehr gefährlich als nützlich ("eval is evil"), denn sie ermöglicht die dynamische Ausführung von beliebigem Code. Vermutlich hat Microsoft das deswegen nicht standardmäßig eingebaut um zu verhindern dass irgendein Angreifer einfach einen Text in eine Excel-Mappe schleusen muss der einfach so ausgeführt werden kann wenn man die Mappe öffnet. Wenn man mehr als die "harmlosen" Excel-Funktionen nutzen will muss man auf Makros zurückgreifen, die bewusst aktiviert werden müssen.

Mit Makros sollte sich das umsetzen lassen:

Function TEXTFORMEL(Ref As String)
    Application.Volatile
    TEXTFORMEL = Application.ThisCell.Parent.Evaluate(Ref)
End Function

Das Makro im Makro-Editor hinzufügen und dann solltest du mit =TEXTFORMEL("...") deinen Text ausführen können

A3 * $A$1

(in A1 das * weglassen)


Photelegy 
Beitragsersteller
 01.03.2019, 15:38

Danke für deine Antwort. Aber ich will es in A1 so ändern können, dass es auch +5 oder ^2 sein kann.

Ich hoffe, dass es einigermassen verständlich ist was ich machen will.