Что такое код VBA в Excel для удаления строк в столбце A: A, если значение больше 1 для всех листов в книге

Что такое код VBA в Excel для удаления строк в столбце A: A, если значение больше 1 для всех листов в книге?

У меня есть код, указанный ниже, уже в одном макросе, который работает, может ли кто-нибудь помочь мне написать этот набор, чтобы добавить его в мой?


Sub BOMUpload_Formating()

    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets

        ws.Columns("A:A").EntireColumn.Delete
        ws.Rows("1:5").EntireRow.Delete
        ws.Columns("C:F").EntireColumn.Delete
        ws.Columns("E:M").EntireColumn.Delete

    Next ws

End Sub

Спасибо, Брок


person Brock Wudtke    schedule 14.05.2018    source источник
comment
В этом коде нет проверки значения, ее нужно добавить.   -  person Dominique    schedule 14.05.2018


Ответы (1)


Как насчет:

Sub RowKiller()
    Dim v As Variant, N As Long, i As Long, rKill As Range
    Dim ws As Worksheet
    For Each ws In Sheets
        N = ws.Cells(Rows.Count, "A").End(xlUp).Row
        If N > 1 Then
            Set rKill = Nothing
            For i = 1 To N
                v = ws.Cells(i, 1).Value
                If IsNumeric(v) Then
                    If v > 1 Then
                        If rKill Is Nothing Then
                            Set rKill = ws.Cells(i, "A")
                        Else
                            Set rKill = Union(rKill, ws.Cells(i, "A"))
                        End If
                    End If
                End If
            Next i
        End If
        If Not rKill Is Nothing Then rKill.EntireRow.Delete
    Next ws
End Sub
person Gary's Student    schedule 14.05.2018