Excel VBA удалить всю строку, если в столбце есть значение 0 - PullRequest
0 голосов
/ 21 марта 2019

Я хочу создать код VBA, который автоматически удаляет всю строку, если значение в столбце 'D' равно 0. Я использую этот код, но когда я пытаюсь запустить его, он выдает мне сообщение об ошибке «Приложение определено или объект-Определенная ошибка ".кто-нибудь знает почему?или есть другой способ сделать это?

Sub deletezeros()
    Dim c As Range
    Dim searchrange As Range
    Dim i As Long

    Set searchrange = Worksheets("sheet2").Range("D2", ActiveSheet.Range("D123432").End(xlUp))

    For i = searchrange.Cells.Count To 1 Step -1
        Set c = searchrange.Cells(i)
        If c.Value = "0" Then c.EntireRow.Delete
    Next i
End Sub

1 Ответ

0 голосов
/ 21 марта 2019

Не могли бы вы попробовать что-нибудь более простое? Как:

    Dim SH As Worksheet
    Set SH = ThisWorkbook.Sheets("sheet2")
    Dim LR As Long
    LR = SH.Columns(4).Find("*", searchorder:=xlByRows, LookIn:=xlValues, searchdirection:=xlPrevious).Row
   '-----
    For i = LR To 2 Step -1
        If SH.Cells(i, 4).Value = "0" Then
            SH.Cells(i, 4).EntireRow.Delete
        End If
    Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...