Abrufen von Formeln innerhalb der Excel-Verkettungsfunktion

Abrufen von Formeln innerhalb der Excel-Verkettungsfunktion

Ich möchte eine Excel-Verkettungsanweisung analysieren, um das Ergebnis des eingeschlossenen Ausdrucks zu finden. Beispiel: =CONCAT("=1-2-3+7*8")sollte 52 zurückgeben und =CONCAT("=AVERAGE(A1,A2)")den Durchschnitt der beiden Felder zurückgeben. Gibt es eine Funktion oder eine andere Möglichkeit, dies in Excel zu erreichen?

Antwort1

Versuchen Sie die folgende benutzerdefinierte Funktion:

Public Function raghav(rng As Range) As Variant
    Dim s As String

    s = Mid(rng(1).Formula, 2)
    arr = Split(s, Chr(34))
    For Each a In arr
        If Left(a, 1) = "=" Then
            raghav = Evaluate(a)
            Exit Function
        End If
    Next a
End Function

Bildbeschreibung hier eingeben

Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zuInstallierenund verwenden Sie:

  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.

Zuentfernendie UDF:

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

Zuverwendendie UDF aus Excel:

=raghav(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

Einzelheiten zu UDFs finden Sie unter:

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

Damit dies funktioniert, müssen Makros aktiviert sein!

verwandte Informationen