评估包含命名范围的文本

如何评估包含命名范围的文本string ? 我尝试了EVAL,EVALUATE和INDIRECT没有成功。

多一点..

对于另外一个系统,我有50多个variables,有200多个variables,下面是一个例子:

<ABC>+<DEF>/<TRE-1> 

为了能够在Excel中同时使用它们,而无需手动更改每个公式,variables和运算符,我使用一对(或多个)SUBSTITUTE公式来呈现Excel可能能够消化的string:

 =ABC+DEF/TRE_1 

我引用所有variables到命名范围。 例如:

ABC是单元格B2,值为5.4

DEF是单元格B3,值为3.2

TRE_1是单元格B4,值为1

但是,我不能得到结果string评估与间接或评估。 它只是给了我一个#NAME或#REF错误,因为它似乎并不认可这个variables作为一个命名范围(也就是一个值)。

有任何想法吗?

我不想在VBA中实现这个。 我知道使用.RefersTo方法是可能的。

尝试使用这个语法:

=INDIRECT("ABC")+INDIRECT("DEF")/INDIRECT("TRE_1")

注意报价。 这似乎是如何INDIRECT工作: =INDIRECT("ABC+DEF")返回#REF!

另请参阅此示例: https : //www.dropbox.com/s/jxj7cgjmnx8iv0t/INDIRECTwithNamedRegions.xlsx

INDIRECT dows不会评估公式,只有引用:您需要使用Evaluate,但只能通过XLM或COM接口使用。
您可以在已定义的名称公式中embeddedEvaluate,但通常这种方法是不切实际的。

VBA解决scheme(在这里或这里看到的)是在当前工作簿中的模块内部设置UDF(用户定义的function),例如:

 Function Eval(ByVal S As String) As String Eval = Evaluate(S) End Function 

将variables设置为命名范围,在单元格中input:

  =Eval("ABC+DEF/TRE_1") 

它会正确地popup结果。

现在..我不想使用VBA …