2017-02-17 106 views
0

错误出现在end sub之前的行上,选择最后一行计算的范围的正确方法是什么?1004应用程序定义的或对象定义的错误

Sub My_Script() 
Dim LastRow As Long 
    With ActiveSheet 
     LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row 
    End With 
    ActiveSheet.Range(Cells(LastRow, Columns("D:AH"))).Select 
End Sub 

回答

1

下面的代码选择在LastRow所有小区仅,从列“d”到列“AH”。

Sub My_Script() 

Dim LastRow As Long 

With ActiveSheet 
    LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row 
    .Range(.Range("D" & LastRow), .Range("AH" & LastRow)).Select 
End With 

End Sub 

如果您想选择所有的行(从第1行至LastRow),从列 “d” 列 “AH”。

Sub My_Script() 

Dim LastRow As Long 

With ActiveSheet 
    LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row 
    .Range(.Range("D1"), .Range("AH" & LastRow)).Select 
End With 

End Sub 

注意:不知道你为什么要Select这个范围?您可以将此Range设置为Range类型的变量,然后再将其设置为Copy或任何您想要使用的变量。几乎没有理由使用Select

相关问题