Excel即使右下角的单元格为空,也选择范围

时间:2018-06-12 07:25:19

标签: excel vba

我正在尝试在Excel工作表中选择一个范围,但我无法弄清楚如何。数据的方式是Row 2所有单元格都填充到最后,Column A所有单元格都填充到底部。但在表格中可能有空单元格。所以右下角也可以是空的。我希望范围从A3开始。

我试图以这种方式选择范围:

Range("A3",Range("ZZ2").End(xlToLeft).Range("A1000000").End(xlUp)).Select

或者这样:

Range("A3",Range("A1000000").End(xlUp).Range("ZZ2").End(xlToLeft).).Select

但无论哪种方式,整个表都不会被选中,因为右下角的单元格中没有任何内容。我觉得必须有一个简单的解决方案,但我无法看到它。

enter image description here

这是表格的简单示例。我想要选择的范围是绿色区域。

2 个答案:

答案 0 :(得分:1)

看看这段代码。它将分别计算出最后一列和最后一行 - 假设您至少有一行和一列完全填写。查看示例数据,我已经采用了标题行(= 2)和第一列(= A)

Dim r As Range, row As Long, col As Long
With ActiveSheet
    ' Look in Col A (=1) to figure out number of rows
    row = .Cells(.Rows.Count, 1).End(xlUp).row 
    ' Look in Row 2 to figure out number of columns
    col = .Cells(2, .Columns.Count).End(xlToLeft).Column
    Set r = .Range(.Cells(3, 1), .Cells(row, col))
End With
Debug.Print r.Address

答案 1 :(得分:0)

尝试,

range(cells(3, "A"), cells(2, columns.count).end(xltoleft).offset(cells(rows.count, "A").end(xlup).row - 2, 0)).select