【问题标题】:Finding starting row number of a range name of Excel查找Excel范围名称的起始行号
【发布时间】:2011-03-09 10:51:32
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

    标签: excel powershell


    【解决方案1】:

    第一行是 $ws.Range("LOOPBACK_IP").Rows 的第一个元素

    ...行号的属性是.Row

    例如在VBA中,下面显示了一个带有每行数的msgbox

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

    【讨论】:

    • 不要惊慌!随时准备好《银河系漫游指南》!
    【解决方案2】:

    不确定是否可以从 Powershell 以相同的方式调用它,但在范围上调用的 ROW 函数将返回范围的起始行。如果您有一个从单元格C3 开始的范围RangeName,则=ROW(RangeName) 将返回3

    我认为这可能仅在您的范围是矩形时才能正常工作,但我目前无法确认。

    【讨论】:

      【解决方案3】:

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

      你也可以使用Names("LOOPBACK_IP").RefersToNames("LOOPBACK_IP").RefersToLocal 会给出类似=Sheet1!$D$9:$D$30 的东西,如果这可能有用的话 - 虽然我必须承认我不知道是什么让“本地”有什么不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多