如果1列中的值大于另一列中的值,则VBA删除整行

时间:2015-10-14 09:52:17

标签: excel vba excel-vba

我是VBA for excel的新手,我遇到了一个小问题。如果D列中的值大于E列中的值,则必须删除整行。

数据列表很长,我需要继续操作,直到C列中的数据结束。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

删除行时,从底部开始处理,或者由于与新删除的行关联的重新编号,您可能会跳过行。

Sub del_D_greater_than_E()
    Dim rw As Long

    With Worksheets("Sheet5")   '<~~ set this properly!
        For rw = .Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
            If .Cells(rw, "D").Value2 > .Cells(rw, "E").Value2 Then
                .Rows(rw).EntireRow.Delete
            End If
        Next rw
    End With

End Sub

这应该足以让你入门。您可能希望在操作期间关闭屏幕更新和计算。