Excel VBA返回表单基于范围

时间:2018-05-20 16:59:51

标签: excel excel-vba vba

我试图根据范围获取顶部单元格地址。 "顶级单元"这里表示工作表第一行中的单元格(行号应始终为1)。如果范围包含多个列,请使用范围的第一列。

我的代码如下:

Sub main()

    Dim rg As Range

    Set rg = Range(Cells(10, 2), Cells(100, 2))

    Debug.Print Range(rg.Cells(1, 1).EntireColumn.Address).Rows(1).Address(RowAbsolute:=False)
    ' Out put is $B1
End Sub

它按预期工作。但我想知道是否有更简单的方法/表达方式来达到同样的目的。谢谢!

1 个答案:

答案 0 :(得分:0)

使用Cells(1, rg.Column)

Option Explicit

Public Sub GetTopCell()

    Dim rg As Range

    With ActiveSheet

        Set rg = .Range(.Cells(10, 2), .Cells(100, 9))

        Debug.Print .Cells(1, rg.Column).Address(RowAbsolute:=False)    'Prints $B1

    End With

End Sub

rg.Column提取定义范围内左上角单元格的列