我是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
我知道问题出在最后一行代码中......我只是不知道如何正确引用范围变量来选择它。 谢谢你的帮助!
答案 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