在除几个工作表之外的所有工作表中删除包含零的行

Delete rows containing zero on all but a couple of worksheets

我正在尝试创建一个宏来删除我工作中除少数工作簿之外的所有工作簿中 L 列中包含 0 值的行sheet。我找到了一个可以在 activesheet 上执行此操作的宏,我试图将它嵌套在循环遍历所需 sheet 的函数中,但它仍然只删除 active [=5= 中的零].谁能看出我做错了什么?

代码如下:

Sub nul_waarden_verwijderen()

 Dim WS As Worksheet
 Dim lngMyRow As Long
 Application.ScreenUpdating = False

    For Each WS In ActiveWorkbook.Worksheets
        If WS.Name <> "TB per 29122014" And WS.Name <> "SCOA" And WS.Name <> "105 Enterprise klad" And WS.Name <> "105 rekenblad" And WS.Name <> "list" Then         
            For lngMyRow = Cells(Cells.Rows.Count, "E").End(xlUp).Row To 2 Step -1
                If Val(Cells(lngMyRow, "L")) = 0 Then
                   Rows(lngMyRow).EntireRow.Delete
                End If
            Next lngMyRow
        End If                                  
    Next WS

End Sub

您必须在 .Cells 和 .Rows 前使用限定符才能使其在特定工作表上工作。如果没有这个限定符,那两个指的是 ActiveSheet.Cells 和 ActiveSheet.Rows.

For Each WS In ActiveWorkbook.Worksheets
    If WS.Name <> "TB per 29122014" And WS.Name <> "SCOA" And WS.Name <> "105 Enterprise klad" And WS.Name <> "105 rekenblad" And WS.Name <> "list" Then
        For lngMyRow = WS.Cells(Cells.Rows.Count, "E").End(xlUp).Row To 2 Step -1
            If Val(WS.Cells(lngMyRow, "L")) = 0 Then
                WS.Rows(lngMyRow).EntireRow.Delete
            End If
        Next lngMyRow
    End If
Next WS