2013-06-26 72 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)