Wie behält man eine nicht ausgewertete mathematische Formel in einer Zelle in Excel und wertet sie in einer anderen Zelle aus?

Wie behält man eine nicht ausgewertete mathematische Formel in einer Zelle in Excel und wertet sie in einer anderen Zelle aus?

Ich möchte zwei Zellen in Excel haben:

Im ersten (fx A1) möchte ich eine Gleichung wie diese haben. 2 + 2
Im zweiten (fx A2) möchte ich die Lösung = 4.

Wie kann ich es tun?

Antwort1

Tragen Sie zunächst in einem Standardmodul folgende UDF ein:

Public Function eval(strng As String) As Variant
    eval = Evaluate(strng)
End Function

dann in A2 eingeben:

=Auswertung(A1)

Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:

  1. ALT-F11 öffnet das VBE-Fenster
  2. ALT-I ALT-M öffnet ein neues Modul
  3. Füge das Material ein und schließe das VBE-Fenster

Wenn Sie die Arbeitsmappe speichern, wird die UDF mit gespeichert. Wenn Sie eine Version von Excel verwenden, die älter als 2003 ist, müssen Sie die Datei als .xlsm und nicht als .xlsx speichern.

So entfernen Sie die UDF:

  1. Öffnen Sie das VBE-Fenster wie oben
  2. Löschen Sie den Code
  3. Schließen Sie das VBE-Fenster

So verwenden Sie die UDF aus Excel:

=meineFunktion(A1)

Weitere Informationen zu Makros im Allgemeinen finden Sie unter:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

Und

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Und

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

für Einzelheiten zu UDFs

Damit dies funktioniert, müssen Makros aktiviert sein!

Antwort2

Möglicherweise können Sie mit einer Arbeitsblattfunktion nicht genau das tun, was Sie möchten.hier beantwortetund das ist Absicht.

Sie können dies mit VBa erreichen (und in Ihrem Beitrag wird nicht angegeben, ob Sie VBa verwenden oder nicht, also nehme ich an, dass dies nicht der Fall ist) oder Sie couldsuchen nach dem alten XLM GET.FORMULA(), aber VBa ist besser (und ich weiß nichts über XLM).

Vielleicht können Sie so etwas tun wie

=FORMULATEXT(formulaCell)      

FORMULATEXT requires the morefunc.xll add-in. 

Quelle


Als Workaround und basierend auf dem genauen Beispiel in Ihrer Frage könnten Sie jedoch Folgendes tun (was funktioniert):

=SUM(LEFT(A1,1),RIGHT(A1,1))

Dies funktioniert nur, wenn die Formel N+N ist (wobei N eine Ziffer ist), aber je nachdem, wie viele Datenzeilen Sie haben, kann dies Ihren Anforderungen entsprechen.

Bildbeschreibung hier eingeben

verwandte Informationen