1004应用程序定义或对象定义的错误

时间:2017-02-17 19:11:49

标签: excel-vba vba excel

错误出现在end sub之前的行上,选择计算最后一行的范围的正确方法是什么?

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 个答案:

答案 0 :(得分: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