选择范围时,如何在VBA上引用它的第一个选定单元格和最后一个选定的单元格?

时间:2018-10-21 20:07:19

标签: excel vba

例如,假设我在Excel中选择范围A1:F1。

在VBA中,我如何具体指代单元格A1,单元格F1和该范围内的所有其他单元格? 非常感谢。

3 个答案:

答案 0 :(得分:2)

您可以像已经显示的那样For Each,还可以使用.Cells对象的Range属性,并指定要检索的范围内的行和列。

Option Explicit
Public Sub Test()
    Dim aRange As Range
    Set aRange = [A1:F1]

    Debug.Print aRange.Cells(1, 1).Address
    Debug.Print aRange.Cells(1,  aRange.Columns.Count).Address   
End Sub

答案 1 :(得分:1)

要遍历选择中的单元格:

u32

答案 2 :(得分:1)

这似乎是Selection可以提供您所需信息的理想时间。

sub FirstLastFull()

    with selection

        debug.print "first cell is: " & .cells(1, 1).address(0,0)
        debug.print "last cell is: " & .cells(.rows.count, .columns.count).address(0,0)
        debug.print "full range is: " & .address(0,0)

    end with

end sub

以上内容适用于选定单元格的连续范围。如果要从非连续范围获得相同的信息,则必须考虑Areas属性。

sub FirstLastFull()

    with selection

        debug.print "first cell is: " & .cells(1, 1).address(0,0)
        with .areas(.areas.count)
            debug.print "last cell is: " & .cells(.rows.count, .columns.count).address(0,0)
        end with
        debug.print "full range is: " & .address(0,0)

    end with

end sub