1

我有几本包含计算的工作簿,我正在做一个“自动概述”,结合所有这些工作表中的数据。为了找到我使用命名范围的数据。这些工作正常。
但是,有一个定义的名称不引用范围。这是一个公式。

我想要的是从我的概述书中访问该公式(在打开的计算书中)的结果。

显然wb.Names("myNamedFormula").RefersToRange不起作用,因为名称不指代范围。
wb.Names("myNamedFormula").Value给我公式,但不是结果。该名称的成员都没有得到结果。
我尝试使用评估公式,Evaluate(...)但这不起作用,因为它应该在另一个工作簿中评估。

有谁知道如何得到结果?

谢谢,

ps:我知道一种可能性是让名称引用一个范围,然后在那里进行计算,但我不希望那样。

4

2 回答 2

3

我认为您将不得不使用 Worksheet.Evaluate 而不是 Application.evaluate (请注意,命名公式中的所有引用都应该是完全限定的绝对引用)。试试这个语法评估

ansa = Workbooks("Book1.xlsb").Worksheets(1).Evaluate(Workbooks("Book1.xlsb").Names("AddNumbers").RefersTo)
于 2012-07-20T11:41:55.267 回答
2

这有点混乱,但是:

将公式添加到计算 wb 中的单元格=MyNamedFormula (假设为 Sheet1 上的示例单元格 A1)

在计算 wbPointsToMyNamedFormula中添加一个名称,指Sheet1!A1

然后你可以参考wb.Names("PointsToMyNamedFormula").RefersToRange.Value1

于 2012-07-19T13:21:05.787 回答