2013-06-26 70 views
4

我目前正试图弄清楚如何从第二行到最后一行选择一个范围,但更具体地说是在一列范围之间。例如,我想选择范围(A2:L2)到电子表格中最后一行数据。如何选择第二行到最后一行的范围

我都试过了,

Dim Lastrow As Integer 
Lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 

Range("A2:L2" & Lastrow).Select 

但这种选择从A2:L2一路下跌到电子表格的底部。我已检查Lastrow是否不正确,但是我将它打印到单元格并显示正确的行数。

回答

13

试试这个:

Dim Lastrow As Integer 
Lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 

Range("A2:L" & Lastrow).Select 

让我们假设的Lastrow值是50。当您使用以下方法:

Range("A2:L2" & Lastrow).Select 

然后将其选择范围从A2至L250。

+0

为什么'范围( “A2:L2” &LASTROW).Select'从A2到选择L250如果LASTROW是50?我将不胜感激Excel的数学解释。 – TylerH

+0

@TylerH因为我们从“L2”开始,当我们&50时,它就像是说“L2”和“50”,等于“L250” – RobertSF

+1

@RobertSF啊,它是连接值,谢谢。 – TylerH

1
Sub SelectAllCellsInSheet(SheetName As String) 
    lastCol = Sheets(SheetName).Range("a1").End(xlToRight).Column 
    Lastrow = Sheets(SheetName).Cells(1, 1).End(xlDown).Row 
    Sheets(SheetName).Range("A2", Sheets(SheetName).Cells(Lastrow, lastCol)).Select 
End Sub 

要使用ActiveSheet使用:

Call SelectAllCellsInSheet(ActiveSheet.Name)