如何从范围对象中删除#N/A?

How to remove #N/A from a range object?

假设我有一个函数

Public Function dummy(x As Double, vec As Range) As Double
.
.
.
End Function

有时我传递给 vec 的范围包含 #N/A。在将值分配给数组之前,如何从 vec 中删除 #N/A?不过,我不想用另一个值替换 #N/A

使用数组而不是范围。

您可以遍历数组的元素并删除任何 #N/A 而不更改范围。

在 VBA 中使用 isna( value ) 函数。我的机器上没有安装 Excel,这也没有经过测试。但是这样的事情应该有效:

for each cl in vec
    if WorksheetFunction.isna(cl.value) = true then
        cl.clear
    end if
next cl