2017-03-21 32 views
0

我有一個VBA代碼,用於在單元列中存在絕對零值時刪除整行,但我無法弄清楚如何更新代碼以應用於所有工作表(我的工作簿中有20張表格):使用零刪除整行適用於所有工作表

有人可以幫助您瞭解如何更新此代碼以應用於工作簿中的所有工作表。

Sub IfandthenDelete_Button3_Click() 

Dim lRow As Long 

Dim i As Long 

lRow = 3000 

Application.ScreenUpdating = False 

For i = lRow To 1 Step -1 

    If Cells(i, 1) = 0 Then 

    Rows(i).Delete 
     End If 

Next 

Application.ScreenUpdating = False 
End Sub 
+0

1.您不能重新啓用屏幕更新;只是重複'Application.ScreenUpdating = False'命令。 2.您的數據結構如何,自動篩選器命令可以加快速度? – Jeeped

+0

謝謝!! ...是的。我重新啓用了屏幕更新True,並且我沒有正確添加第二個循環來搜索我正在尋找的所有工作表單元格。這對於瞭解需要什麼非常有幫助。 –

+0

自動過濾器..我想如果使用它會減慢計算?....或加快速度?基本上,列「A」中有零,我想要刪除整行。 –

回答

0

你需要一個更for循環。

Sub WorksheetLoop() 
    Dim wsCount As Integer 
    Dim j As Integer 
    Dim lRow As Long 
    Dim i As Long 

    lRow = 3000 
    wsCount = ActiveWorkbook.Worksheets.Count 

    For j = 1 To wsCount 

     For i = lRow To 1 Step -1 
      If ActiveWorkbook.Worksheets(j).Cells(i, 1) = 0 Then 
       ActiveWorkbook.Worksheets(j).Rows(i).Delete 
      End If 
     Next 

    Next j 

End Sub 
相關問題