鉴于excel单元的名称,我如何找到它的价值?

时间:2015-06-10 16:25:43

标签: .net vb.net excel

因此在excel中,您可以指定单元格名称以避免使用行号和列号。在这种情况下,这是特别有用的,因为我处理了几个excel表,并且不知道这个特定单元格的位置。

如何获得此单元格的值?我目前正在浏览整个工作表,但我在网上偶然发现了这一点,这将大大加快我的应用程序。

如果在网上发现提示xlWorkSheet.Cells("CellName").ValuexlWorkSheet.GetCell("CellName").Value的帖子。不幸的是,cells方法不接受字符串作为参数,并且GetCell方法不存在。我正在使用互操作库。提前谢谢。

1 个答案:

答案 0 :(得分:-1)

编辑:Range("MyName")是一种方式,但如果您在VBA中,获取范围值的最短方法是使用Evaluate函数速记:{{1}这将有效地返回名为[MyName]

的命名范围

enter image description here

或来自powershell(也使用像.NET这样的COM):

MyName

原始答案: 您是否尝试过workheet.names和workbook.names

$Excel.Evaluate("MyName").Value()

证明这一点也适用于COM自动化/ VSTO / Powershell:

Powershell screenshot

ThisWorkbook.Names("MyName").RefersToRange.Value

还要注意,命名范围的范围对您访问它的方式很重要:

Name Manager scope