查找Excel范围名称的起始行号

时间:2010-06-29 04:51:21

标签: excel powershell

在Excel工作表中,我有一个范围名称“LOOPBACK_IP”。 我想以编程方式查找此范围名称的起始行。

使用Powershell,如果我想找到这个范围的值,我使用(在为$ ws变量分配工作表之后):

write-host $ws.Range("LOOPBACK_IP").Value2

但要找到范围名称的位置(即行,列),我该怎么办?

感谢。

3 个答案:

答案 0 :(得分:1)

第一行是$ ws.Range(“LOOPBACK_IP”)的第一个元素。行

...行号的属性是.Row

例如,在VBA中,以下显示了一个msgbox,其中包含每行的编号

For Each rw In MyRange.Rows
    MsgBox rw.Row 
Next rw

答案 1 :(得分:1)

不确定是否可以从Powershell以相同的方式调用此方法,但调用范围的ROW函数将返回范围的起始行。如果您的小区RangeName从小区C3开始,=ROW(RangeName)将返回3

我认为如果您的范围是矩形,这可能只能正常工作,但我现在无法确认。

答案 2 :(得分:0)

Names("LOOPBACK_IP").RefersToRange.Row为您提供了一行; .Column为您提供(数字)列。

您还可以使用Names("LOOPBACK_IP").RefersToNames("LOOPBACK_IP").RefersToLocal提供类似=Sheet1!$D$9:$D$30的内容,如果这可能有用 - 虽然我必须承认我不知道是什么让'本地'有所不同