这里将编写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函数来判断单元格中是否是错误值,如果是,则设置该单元格为空。
这段代码虽然相对长一些,但相比较前面的两种方法,可以自动在错误值单元格中输入内容。