首页 > 解决方案 > VBA 宏不会删除零值的行

问题描述

我想删除特定列中具有零值的行。但是,该宏仅在某些行中起作用。我认为这是格式问题,所以我尝试更改格式,但它不起作用。你能帮我找出问题吗?

宏之前

宏之后

    If IsNumeric(Cells(i, 7).Value) And IsNumeric(Cells(i, 8).Value) And IsNumeric(Cells(i, 9).Value) Then
    Else
    Rows(i).EntireRow.Delete
    End If
Next

Worksheets("sheet").Columns("F").NumberFormat = "#,##0.0"
Worksheets("sheet").Columns("G").NumberFormat = "#,##0.0"
Worksheets("sheet").Columns("H").NumberFormat = "#,##0.0"
Worksheets("sheet").Columns("I").NumberFormat = "#,##0.0"

For i = 7 To lastcell
    If Cells(i, 6).Value = 0 And Cells(i, 7).Value = 0 And Cells(i, 8).Value = 0 And Cells(i, 9).Value = 0 Then
    Rows(i).EntireRow.Delete
    End If
Next

标签: excelvbafor-loopif-statement

解决方案


推荐阅读