【发布时间】:2011-03-09 10:51:32
【问题描述】:
在 Excel 工作表中,我有一个范围名称“LOOPBACK_IP”。 我想以编程方式查找此范围名称的起始行。
使用 Powershell,如果我想找到这个范围的值,我使用(在为 $ws 变量分配工作表之后):
write-host $ws.Range("LOOPBACK_IP").Value2
但是要找到范围名称的位置(即行、列),我该怎么办?
谢谢。
【问题讨论】:
标签: excel powershell
在 Excel 工作表中,我有一个范围名称“LOOPBACK_IP”。 我想以编程方式查找此范围名称的起始行。
使用 Powershell,如果我想找到这个范围的值,我使用(在为 $ws 变量分配工作表之后):
write-host $ws.Range("LOOPBACK_IP").Value2
但是要找到范围名称的位置(即行、列),我该怎么办?
谢谢。
【问题讨论】:
标签: excel powershell
第一行是 $ws.Range("LOOPBACK_IP").Rows 的第一个元素
...行号的属性是.Row
例如在VBA中,下面显示了一个带有每行数的msgbox
For Each rw In MyRange.Rows
MsgBox rw.Row
Next rw
【讨论】:
不确定是否可以从 Powershell 以相同的方式调用它,但在范围上调用的 ROW 函数将返回范围的起始行。如果您有一个从单元格C3 开始的范围RangeName,则=ROW(RangeName) 将返回3。
我认为这可能仅在您的范围是矩形时才能正常工作,但我目前无法确认。
【讨论】:
Names("LOOPBACK_IP").RefersToRange.Row 给你行; .Column 为您提供(数字)列。
你也可以使用Names("LOOPBACK_IP").RefersTo 或Names("LOOPBACK_IP").RefersToLocal 会给出类似=Sheet1!$D$9:$D$30 的东西,如果这可能有用的话 - 虽然我必须承认我不知道是什么让“本地”有什么不同。
【讨论】: