Пытаясь установить последнюю строку между ("B4:B17") и продолжал получать сообщение об ошибке (ПРИЛОЖЕНИЕ ОПРЕДЕЛЕНО ИЛИ ОШИБКА ОПРЕДЕЛЕНИЯ ОБЪЕКТА), есть ли другой способ установить диапазон выбора последней строки или что я делаю неправильно в этом коде

 sub try()
   dim lastrow as long
   lastrow = ActiveSheet.Range("D4:D17" & Rows.Count).End(xlUp).Row
 end sub

2 ответа2

0

Используйте метод Range.find, чтобы найти последнюю строку.

В случае, если все ячейки пусты, вы должны использовать On error resume next чтобы подавить ошибку

Sub try()
    Dim lastrow as long
    On Error Resume Next
    lastrow = [B4:B17].Find("*", [B4], , , xlByRows, xlPrevious).Row
    On Error GoTo 0
End Sub
0

На самом деле я понял это, но кто-то, пожалуйста, дайте мне знать, если есть какие-либо другие способы ..

  lastrow = Range("B17").End(xlUp).Row

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .