У вас есть несколько требований, и ваш код довольно лёгкий, но в части #N/A
вы не можете просто проверить этот текст, используя подход значения, который является свойством по умолчанию, возвращаемым для диапазонаobject.
Sub Create()
Dim LastRow As Long, i As Long
LastRow = Range("B10000").End(xlUp).Row
For i = LastRow To 1 Step -1
If Range("B" & i).Text = "#N/A" Then
Range("B" & i).EntireRow.Delete
End If
Next
End Sub
... вам нужно использовать .Text
, чтобы заставить это работать, или If IsError(Range("B" & i)) Then
- другой подход.
Остальные ваши требования - просто логика,Остальная часть вашего кода относительно здорова, поэтому вам просто нужно проработать его.
Надеюсь, это поможет.