Удалить строки на основе условия - PullRequest
0 голосов
/ 14 июня 2019

Таким образом, столбец 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

1 Ответ

0 голосов
/ 14 июня 2019

Попробуйте это ...

Dim objRange As Range, lngRow As Long

Set objRange = Range("F2:F244")

With objRange
    For lngRow = .Cells(.Rows.Count, 1).Row To .Cells(1, 1).Row Step -1
        If .Cells(lngRow, 1) = "THE_VALUE" Then .Rows(lngRow).Delete
    Next
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...