我試圖創建一個宏來刪除在工作表中除了幾個工作簿之外的列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