Таким образом, столбец 1 состоит из различных имен, и я хочу удалить всю строку, если имя в конкретной ячейке в этом столбце не является подмножеством имен.Я попытался использовать вложенный If в сочетании с For для прохождения строк, но оказалось, что удаление строк в порядке возрастания не работает.Теперь я хочу, чтобы цикл for начинался с конечного значения до начального, и я использовал «Шаг -1» в конце, как это
For Each a In Range("F2:F244") Step-1
Но я получаю
Ошибка компиляции: конец инструкции
Что я делаю не так?Или есть какой-либо другой способ удалить строки?
Редактировать: С предложением @ Skin, ниже приведен обновленный код.Но теперь ошибка выглядит следующим образом:
Ошибка времени выполнения '1004': невозможно установить свойство Delete класса Range
Sub deleteaccount()
Dim x As Range, l As Long
Set x = Range("E2:E244")
For l = x.SpecialCells(xlCellTypeLastCell).Row To x.Cells(1, 1).Row Step -1
If Left(Cells(l, 5), 4) = "DARL" Then
Cells(l, 6).Value = "darling"
ElseIf Left(Cells(l, 5), 4) = "GIRI" Then
Cells(l, 6).Value = "girias"
ElseIf Left(Cells(l, 5), 4) = "S.C." Then
Cells(l, 6).Value = "sc shah"
ElseIf Left(Cells(l, 5), 4) = "SHAR" Then
Cells(l, 6).Value = "sharpatronics"
ElseIf Left(Cells(l, 5), 4) = "VASA" Then
Cells(l, 6).Value = "vasanth"
ElseIf Left(Cells(l, 5), 4) = "VIVE" Then
Cells(l, 6).Value = "viveks"
Else
Cells(l, 6).EntireRow.Delete = True
End If
Next l
End Sub