我有一个使用索引和匹配函数填充的列,当找不到该值时,它会产生N / A值。我希望能够通过特殊值替换列中的所有此类错误值。我想在VBA代码中执行此操作。有什么帮助吗?
我不想用IF逻辑重写函数。
答案 0 :(得分:5)
你真的可以在没有VBA的情况下做到这一点,具体如下:
IFERROR(myIndexMatchFormula,"special value")
如果您确实需要VBA解决方案,请尝试以下内容。它将找到您范围内的所有错误单元格,并替换为您选择的内容。没有If
语句,没有循环!
Option Explicit
Sub replaceErrors()
Dim rng As Range
On Error Resume Next
Set rng = Range("A1:A10").SpecialCells(xlCellTypeFormulas, 16) ' -> replace with your specific range
rng.Value = "special values" '-> place what you want here
On Error GoTo 0
End Sub
答案 1 :(得分:1)
Columns("E").SpecialCells(xlCellTypeFormulas, xlErrors).Value = ""
例如,可以替换E列中的所有错误。
但是,遗憾的是,如果没有找到任何内容,特殊单元总是会抛出错误,因此必须通过某些on error ...
答案 2 :(得分:0)
如果r
是需要检查的范围,您始终可以使用以下内容来确定单元格中的值是否为“N / A”
If r.Value = CVErr(xlErrNA) Then
... ' do something
Else
... ' do something else
Endif