если в диапазоне найдено значение одной ячейки, удалить всю строку

Я работаю с ежедневными данными, которые записывают данные за 31 день на нескольких станциях, и мне нужен код VBA для удаления дней високосного года. У меня есть список дат записанных данных и список лет, которые не являются високосными, и которые я хочу удалить. Чтобы удалить лишние 30 и 31 день, я использовал следующий основной код:

Dim lastrow, i As Long

lastrow = ActiveSheet.Cells(65536, 1).End(xlUp).Row

For i = 1 To lastrow
    'delete 31st days for February
    If ActiveSheet.Range("D" & i) = 2 And ActiveSheet.Range("E" & i) = 31 Then
        Rows(i).Select
        Selection.Delete shift:=xlUp
    End If
Next i

Довольно просто и прекрасно работает, поэтому я надеялся, что смогу сделать что-то похожее, когда я найду несуществующую дату (например, 02/29 / non-leapyear) в данных и удалю строку, но она оказалась чрезвычайно трудно сопоставить значение в диапазоне. Я думал о чем-то вроде этого:

Dim lastrow, i As Long, leapyear as Workbook

Set leapyear = Workbooks("LeapYears.xlsx")

lastrow = ActiveSheet.Cells(65536, 1).End(xlUp).Row

For i = 1 To lastrow
    'obviously this is where I have the problem trying to match a cell to a range
    If ActiveSheet.Range("D" & i) = leapyear.Sheets(1)range("C2:C90") Then
        Rows(i).Select
        Selection.Delete shift:=xlUp
    End If
Next i

Любая помощь или другой способ справиться с этим очень ценится!

Ответы на вопрос(1)

Ваш ответ на вопрос