Удаление строк без данных - PullRequest
0 голосов
/ 09 апреля 2020

Я создал много макросов, но не так много редактировал. Я пытаюсь отфильтровать таблицу в столбце B для «0», а затем удалить все строки. что происходит, если в столбце B нет строк, содержащих «0», код в итоге удаляет все данные, которые я хочу сохранить. Мой код:

    ActiveSheet.ListObjects(1).Range.AutoFilter Field:=2, _
        Criteria1:="=0", Operator:=xlAnd
    Rows("2:2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.ListObjects(1).Range.AutoFilter Field:=2
    Columns("A:A").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.ColumnWidth = 8.5
    ActiveWindow.LargeScroll ToRight:=-1
End Sub

1 Ответ

1 голос
/ 09 апреля 2020

Попробуйте этот код

Sub Test()
    Call DelFilterParam(Sheet1, "Table1", 2, "=")
End Sub

Sub DelFilterParam(ByVal wsSheet As Worksheet, ByVal stTable As String, ByVal iField As Integer, ByVal vCriteria As Variant)
    With wsSheet
        With .ListObjects(stTable).DataBodyRange
            .AutoFilter
            .AutoFilter Field:=iField, Criteria1:=vCriteria
            .EntireRow.Delete
            .AutoFilter
        End With
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...