在单元格中有这样的文字:Sum(d5:d10),请注意没有“=”。我想在另一个带有“=”的单元格中使用此文本,并且计算范围d5:d10之和的结果,我想要的返回值不是文本。
我的目的不是计算总和,但我想在另一个单元格中使用“=”开头的单元格文本,并得到计算结果。即:如何在excel中编译文本。
答案 0 :(得分:3)
假设你有文字" SUM(A1:B1)"在单元格C1中,您希望在D1
中得到结果答案 1 :(得分:2)
像这样的东西,定义一个内部评估的函数。使用类似=MetaFunction("sum(E4:E6)")
的内容从工作表中调用它。这对我有用。我用1,2,3填充了单元格E4:E6
,得到了6。
或者选择"=MetaFunction(G3)"
,然后在G3中,公式为="Sum(E4:E6)"
(这与您的用例更相符)。仍然为我工作,6。
非常好奇为什么你需要这个,一个额外的" meta"必须使这个工作表变慢。
Option Explicit
Public Function MetaFunction(ByVal sFormula As String)
Application.Volatile
MetaFunction = Application.Evaluate(sFormula)
End Function