除了几个工作表之外,删除包含零的行

我正在尝试创build一个macros来删除工作表中除了几个工作簿上列L中包含0值的行。 我发现一个macros可以在activesheet上做到这一点,我试图把它嵌套在循环遍历所需表单的函数中,但是它仍然只删除活动表单中的零。 任何人都可以看到我做错了什么?

这里是代码:

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