Вы на самом деле не ссылаетесь на With Sheets("Budget")
. Добавьте период .
перед каждым экземпляром Range
, в противном случае есть неявный ActiveSheet
, который не обязательно является вкладкой Бюджет.
With Sheets("Budget")
...
LastRow = .Range("I50").End(xlUp).Row
...
If .Range("I" & i).Value = "Not Applicable" Then
.Range("I" & i).EntireRow.Delete
End If
...
End With
РЕДАКТИРОВАТЬ:
На основе комментариев и предоставленного вами снимка экрана измените способ определения LastRow
(избавьтесь от жестко заданного I50
):
LastRow = .Cells(.Rows.Count, "I").End(xlUp).Row