VBA小技巧10:删除工作表中的错误值

2021-07-30 09:58:37 浏览数 (1)

这里将编写VBA代码,用来删除工作表指定区域中的错误值,这在很多情况下都很有用。

如下图1所示,有一组数据,但其中有一些错误值,我们想要自动删除这些错误值。

图1

删除错误值的数据表如下图2所示。

图2

如果不使用VBA,可以使用Excel的“定位”功能来实现。如下图3所示,单击功能区“开始”的“编辑”组中的“查找和选择——定位条件”,弹出“定位条件”对话框。在该对话框中,选取“公式”中“错误”前的复选框,如下图3所示。

图3

单击“确定”后,工作表中的错误数据单元格会被选择,单击“Delete”键,删除错误值,结果如上图2所示。

也可以使用下面的VBA代码实现:

Sub DeleteError1()

Range("B2:E8").SpecialCells(xlCellTypeFormulas,16).ClearContents

End Sub

一句代码,即可实现!

还可以使用下面的VBA代码:

代码语言:javascript复制
Sub DeleteError2()
    Dim rngData As Range
    Dim cell As Range
    Set rngData = Range("B2:E8")
    For Each cell In rngData
        If VBA.IsError(cell.Value) = True Then
           cell.Value = ""
        End If
    Next cell
    Set cell= Nothing
    Set rngData = Nothing
End Sub

代码中,使用IsError函数来判断单元格中是否是错误值,如果是,则设置该单元格为空。

这段代码虽然相对长一些,但相比较前面的两种方法,可以自动在错误值单元格中输入内容。

vba

0 人点赞