在Excel VBA中访问命名单元格的值(内容)

5

This

Dim WB As Workbook
Set WB = Workbooks.Open("foo\bar.xlsx", , True)
Debug.Print (WB.Names("named_cell").Value)
WB.Close (False)

返回值

='Sheet'!$C$377

如何获取单元格C377中的值,而不是单元格中的内容?


2
请尝试使用 Debug.Print (WB.Worksheets("NameOfSheet").Range("named_cell").Value) - Ralph
谢谢!这个可行。不过,有点奇怪的是我可以访问命名区域的引用而不需要指定工作表名称,但无法访问内容...真的没有办法吗? - speendo
3个回答

5
有几种方法:
Debug.Print Range("Named_Range").Value
Debug.Print [Named_Range].Value '// This uses the evaluate method

如果命名区域在活动工作簿中(应该是因为它是您打开的最后一个工作簿),则不需要使用工作表对象对其进行合格化。


5

就是这样!谢谢! - speendo

2
一旦已经建立了命名区域,Excel就知道它的Parent,因此:
Sub dural()
    Dim r As Range
    Set r = Range("named_cell")
    MsgBox r.Parent.Name & vbCrLf & r.Address(0, 0) & vbCrLf & r.Value
End Sub

以下是获取此范围信息的一种方法:

enter image description here

这种方法使用 Range 对象的属性而不是 Workbook 对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接