如何使用vba for excel在其他工作簿中获取已定义名称的值
我有几本包含计算的工作簿,我正在结合所有这些表中的数据进行“自动概述”。要查找数据,我使用命名范围。这些很好用。如何使用vba for excel在其他工作簿中获取已定义名称的值,excel,named-ranges,vba,Excel,Named Ranges,Vba,我有几本包含计算的工作簿,我正在结合所有这些表中的数据进行“自动概述”。要查找数据,我使用命名范围。这些很好用。 但是,有一个定义的名称没有引用范围。这是一个公式 我想要的是从我的概述书中访问该公式的结果(在打开的计算书中) 显然,wb.Names(“myNamedFormula”).referestorange不起作用,因为名称没有引用范围。 wb.Names(“myNamedFormula”).Value给出了公式,但没有给出结果。名称的任何成员都不会得到结果。 我尝试使用Evaluate(
但是,有一个定义的名称没有引用范围。这是一个公式 我想要的是从我的概述书中访问该公式的结果(在打开的计算书中) 显然,
wb.Names(“myNamedFormula”).referestorange
不起作用,因为名称没有引用范围。wb.Names(“myNamedFormula”).Value
给出了公式,但没有给出结果。名称的任何成员都不会得到结果。我尝试使用
Evaluate(…)
评估公式,但这不起作用,因为它应该在其他工作簿中评估
有人知道如何得到结果吗
谢谢
ps:我知道一种可能是让名称引用一个范围,然后在那里进行计算,但我不希望这样。这有点模糊,但是: 将公式添加到计算wb
=MyNamedFormula
中的单元格中(假设表1中的单元格A1为示例)
在计算wbPointsToMyNamedFormula
中添加一个名称,该名称引用Sheet1!A1
然后您可以引用wb.Names(“PointsToMyNamedFormula”).referestorange.Value1这是一个有点模糊的地方,但是: 将公式添加到计算wb
=MyNamedFormula
中的单元格中(假设表1中的单元格A1为示例)
在计算wbPointsToMyNamedFormula
中添加一个名称,该名称引用Sheet1!A1
然后您可以引用wb.Names(“PointsToMyNamedFormula”).referestorange.Value1我认为您必须使用工作表.Evaluate而不是Application.Evaluate(请注意,命名公式中的所有引用都应该是完全限定的绝对引用)。请尝试此语法进行评估
ansa = Workbooks("Book1.xlsb").Worksheets(1).Evaluate(Workbooks("Book1.xlsb").Names("AddNumbers").RefersTo)
我认为您必须使用工作表.Evaluate而不是Application.Evaluate(请注意,命名公式中的所有引用都应该是完全限定的绝对引用)。请尝试此语法进行评估
ansa = Workbooks("Book1.xlsb").Worksheets(1).Evaluate(Workbooks("Book1.xlsb").Names("AddNumbers").RefersTo)
你能把你的配方贴出来吗?我在玩这个,没有任何问题。你能发布你的公式吗?我在玩这个游戏,没有遇到你的任何问题。