2017-02-17 9 views
0

Ошибка отображается в строке до конца, что является правильным способом выбора диапазона с вычисленной последней строкой?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.