6

情况:我使用的是 Excel 10。我有一个命名变量,它使用公式来计算它的值。这是一个命名变量,而不是命名范围(在“名称管理器”中,名称“MaxDate”指的是“=MAX(Sheet1!B:B)”,其中 B 列是日期列表)。计算值本身不会出现在任何单元格中,而是用于电子表格中的各种公式中。

我的问题:如何在 VBA 代码中引用这个命名变量?使用 range("MaxDate").value 不起作用。我知道我可以简单地将值放入一个单元格并引用该单元格,但我想找到一种直接引用变量的方法。有什么想法吗?谢谢。

4

2 回答 2

15

以下是使用命名变量的一些示例:

Sub TestNamedVariable()

Dim varFormula As String
Dim varValue As Variant

'This will print the formula if you need it:
varFormula = ActiveWorkbook.Names("MaxDate")

'This will evaluate the named variable/formula
varValue = Application.Evaluate("MaxDate")

End Sub
于 2013-03-27T16:06:03.380 回答
2

对于具有命名变量“MyVar”的给定工作簿,其值为“=MAX(Sheet1!B:B)”。
试试下面的代码:

Evaluate(ActiveWorkbook.Names("MyVar").RefersTo)

如果需要,将 ActiveWorkbook 替换为您引用的对象。

于 2013-03-27T16:14:33.563 回答