我试图创建一个宏来删除在工作表中除了几个工作簿之外的列L中包含0值的行。我发现了一个可以在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
如果我没有记错的话,你必须添加“WS”在.Cells和.Rows – EngJon
面前预选赛如果你只写'行()'这是一样写'ActiveSheet.Rows ()'。您需要通过在循环中将其作为'WS.Rows()'写入您想要使用的工作表的代码。 –
Aiken