1

我有一个使用索引和匹配函数填充的列,当找不到该值时,它会导致 N/A 值。我希望能够用特殊值替换列中的所有此类错误值。我想在 VBA 代码中执行此操作。有什么帮助吗?

我不想用 IF 逻辑重写函数。

4

3 回答 3

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
于 2012-10-03T13:11:43.227 回答
1

Columns("E").SpecialCells(xlCellTypeFormulas, xlErrors).Value = "" 例如,可以替换 E 列中的所有错误。然而,不幸的是,如果 specialcells 什么也没找到,它总是会抛出一个错误,所以你必须通过一些来捕获这个错误on error ...

于 2012-10-03T13:12:26.987 回答
0

如果r是需要检查的范围,您可以随时使用以下内容来识别单元格中的值是否为“N/A”

If r.Value = CVErr(xlErrNA) Then
    ... ' do something
Else
    ... ' do something else
Endif
于 2012-10-03T13:06:06.647 回答