在A列中选择范围A1到lastrow

时间:2018-02-21 17:56:47

标签: excel-vba select range vba excel

我是VBA的新手很抱歉,如果这是一个基本问题。我试图使用Dim LastRow选择从A1到A列中最后一个单元格的范围。 我的代码如下。

Sub

Dim sht As Worksheet

Dim LastRow As Long

Set sht = ActiveSheet

LastRow = sht.range("A1").CurrentRegion.Rows.Count

'everything works properly up to this point

range(A,LastRow").Select

End Sub 

我知道问题出在最后一行代码中......我只是不知道如何正确引用范围变量来选择它。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

有各种方法。如果您使用的是CurrentRegion,则几乎不需要变量(但这只会检测连续的数据块)。并且不要使用Select - 通常是不必要的并且会减慢你的代码。

Sub x()

Dim sht As Worksheet
Dim LastRow As Long

Set sht = ActiveSheet

LastRow = sht.Range("A1").CurrentRegion.Rows.Count

'everything works properly up to this point

sht.Range("A1", sht.Range("A" & LastRow)).Select
'sht.Range("A1").Resize(LastRow).Select
'sht.Range("A1", sht.Cells(LastRow, 1)).Select
'sht.Range("A1", sht.Cells(LastRow, "A")).Select
'sht.Range("A1").CurrentRegion.Resize(, 1).Select ' this one doesn't need LastRow

End Sub