Excel VBA Макросы: Удаление строк содержащих дату.

Автор Посетитель, 08 мая 2019, 19:32

Посетитель

В колонке 15 значения #N/A и даты. Нужно удалить все строки, в которых есть дата в колонке 15.

Это не работает:

    Dim LastRow As Long, i As Long
    LastRow = Cells(Rows.Count, 15).End(xlDown).Row
    For i = LastRow To 2 Step -1
         If Cells(i, 2) = Date  Then Rows(i).Delete
    Next

Помогите написать правильный код.

[вложение удалено администратором]

Администратор

Date - возвращает текущую дату. То есть вы сравнивали ячейку с текущей датой.
Ваш макрос неправильно искал последнюю строку.
И ваш макрос проверял не столбец O, а столбец B.

Макрос
Sub Макрос()

    Dim LastRow As Long, i As Long
   
    ' Отключение монитора, чтобы ускорить макрос.
        ' Ещё можно отключить пересчёт формул.
    Application.ScreenUpdating = False
   
    ' Удаление строк, в которых в столбце O дата.
    LastRow = Cells(Rows.Count, "O").End(xlUp).Row
    For i = LastRow To 2 Step -1
         If IsDate(Cells(i, "O")) Then Rows(i).Delete
    Next
   
    ' Включение монитора.
    Application.ScreenUpdating = True
   
End Sub
[свернуть]

Посетитель