miniversum
Goto Top

ExecuteExcel4Macro in Zelle verwenden

Hallo
Ich würde gerne eine Formel die als String in einer Zelle steht als Formel selbst benutzen.
Dazu würd ich das ganze gerne als Funktion eines Makros Veerwenden die ich direkt in einer Zelle verwenden kann.
Also angenommen in A1 steht "=A2 + A3" und ich schreibe in B1 als Formel =Funktion("A1") dann sollte darin das ergebnis der Rechnung von A1 stehen.
Mein bisheriger Ansatz war die String-zu-Formel-Umwandlungssache mit hilfe der "ExecuteExcel4Macro" Funktion zu machen. Allerdings funktioniert diese nur innerhalb eines Makros, nicht aber in Zellen direkt.
Kann man diese ExecuteExcel4Macro funktion abgeändert nachprogrammieren oder gibt es eine Andere Möglichkeit aus einem String eine Formel zu erhalten die ich auch aus einer Zelle in Excel direkt aufrufen kann?

miniversum

Content-Key: 52842

Url: https://administrator.de/contentid/52842

Printed on: July 16, 2024 at 14:07 o'clock

Member: bastla
bastla Feb 28, 2007 at 14:51:43 (UTC)
Goto Top
Hallo miniversum!

Versuch es vielleicht einmal damit als Basis:
Function Funktion(r As String) As Variant
Application.Volatile
Formel = Range(r).Value
Funktion = Evaluate(Evaluate(Formel))
End Function
Für das Errorhandling (Ist der Übergabewert eine gültige Zelladresse?) hatte ich leider keine Zeit ...

Grüße
bastla
Member: miniversum
miniversum Feb 28, 2007 at 17:25:31 (UTC)
Goto Top
Vielen Dank Funktioniert gut!
Das mit dem Errorhandling ist kein Progblem.
Jedoch hab ich jetzt ein anderes. Lautet die Formel in der Zelle A1 nicht "=A2 + A3" sondern ist ien Zellbezug zu einer anderen Datei (die geschlosen ist) also in der Form "='E:\Dokumente\[Excel-Arbeitsblatt.xls]Tabelle1'!$B$4" Funktioniert dies auch nicht mehr.
Gibts da noch ne andere Abhilfe?

miniversum
Member: bastla
bastla Feb 28, 2007 at 18:06:58 (UTC)
Goto Top
Hallo miniversum!

Gibts da noch ne andere Abhilfe?
Leider fällt mir dazu nur die harte Tour ein: in der Function die ausgelesene Formel auf einen enthaltenen Dateinamen hin untersuchen, im Fall des Falles diesen isolieren und damit die Datei zu öffnen versuchen ...

Wozu brauchst Du denn diese Funktionalität?

Grüße
bastla
Member: miniversum
miniversum Mar 01, 2007 at 18:13:26 (UTC)
Goto Top
Weil es mehrere Dateien wären aus denen ich die Informationen benötige und diese Dateien zwischen 50 und 100MB groß sind. Das öffnen dauert da dan schon etwas länger. Wrd ichs wol doch mit nem Makro und nem Knopf machen müssen.

miniversum