VBA宏:根据错误值删除行

时间:2018-08-09 11:56:11

标签: excel vba excel-vba

我正在处理Excel文件。

注意:我正在使用意大利语版本的Excel。
我必须删除所有存储值#VALUE!的行。必须始终在同一列中搜索该值。必须将此过程排除在第一行之外。

然后,我以以下方式循环所有行:

For i = 2 To Lastrow
    If (IsError(Sheets("Report").Cells(i, 5).Value)) Then
        Sheets("Report").Rows(i).EntireRow.Delete
    End If
Next

令人惊讶的是,此代码并没有删除所有存储错误值的行。根据其他单元格中存在的值,我尝试使用其他条件,但始终得到相同的结果。我不知道该怎么想了。

1 个答案:

答案 0 :(得分:3)

替换:

For i = 2 To Lastrow

具有:

For i = Lastrow to 2 Step -1

我们运行外​​观向后,以避免损坏循环计数器。