删除包含特定数据的2列的行

我有一个Excel文件,其中包含一个表,这个数据:

A | B | C | D ________________________________________________ 321 2016/12/01 0 0 123 2016/12/03 23 0 1321 2016/12/05 12 1 2315 2015/12/03 0 0 23154 2015/12/03 0 0 

如果C AND D的值是0,我想删除所有的行。我怎么能做到这一点?

确保你有第一行作为头一个,然后使用这个:

 Sub Main() With Worksheets("mySheetName") With .Range("D1", .Cells(.Rows.Count, 1).End(xlUp)) .AutoFilter field:=3, Criteria1:=0 .AutoFilter field:=4, Criteria1:=0 If Application.WorksheetFunction.Subtotal(103, .Resize(, 1)) > 1 Then .Resize(.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete End With .AutoFilterMode = False End With End Sub 

考虑:

 Sub RowKiller213() Dim i As Long, N As Long N = Cells(Rows.Count, "A").End(xlUp).Row For i = N To 1 Step -1 If Cells(i, "C").Value = 0 And Cells(i, "D").Value = 0 Then Cells(i, "C").EntireRow.Delete End If Next i End Sub 

注意:

  • 循环自底向上运行

将filter应用于值为0的列C和D,并删除显示的行。