Excel VBA Formel aus einem anderen Blatt auswerten
Gelöst: Das Problem liegt in meiner Formel, in der ich mit INDIRECT () auf eine Zelle verweise, die nicht funktioniert, wenn sich das Blatt unterscheidet. Siehe Antwort
Ich habe eine Formel in einem Blatt, und ich möchte die Formel aus einem anderen Blatt verwenden und mit eval die Formel auswerten. Das Ergebnis ist jedoch nicht wie beabsichtigt. Anscheinend werden in der Formel Werte auf Blatt A anstelle des Aufrufers Blatt B verwendet.
Formula in Blatt A (Siehe:Screenshot Blatt A)
=IF(ISERROR(INDEX('1516Activity'!$B:$B,MATCH(INDIRECT(ADDRESS(ROW(),COLUMN(D:D) )),'1516Activity'!$C:$C,0))),"-",IF(LEFT(INDEX('1516Activity'!$F:$F,MATCH(INDIRECT(ADDRESS(ROW(),COLUMN(D:D) )),'1516Activity'!$C:$C,0)))="0","N","Y"))
Verwendung in Blatt B (Siehe:Screenshot Blatt B)
=Eval('CODE-VARS'!$G$5)
VBA:
Function Eval(Ref As String)
Application.Volatile
Eval = Application.ThisCell.Parent.Evaluate(Ref)
End Function