“#N / A”的值和变体types?
我试图找出#N/A
在VBA中代表什么。
我到目前为止是这个Application.WorksheetFunction.IsNA
我试图在我的macros应用它,但它不工作。
我想要做的是一个if语句的条件,find#N/A
值的单元格。
我想要做的是这样的:
Dim MyCell As Range For Each MyCell In ActiveSheet.Range("A1:A10") If ActiveSheet.Range("C" & MyCell.Row).Value = Application.WorksheetFunction.IsNA Then 'do something End If Next
但是,(1)它不起作用,(2)程序/macros在遇到#N #N/A
值时停止。
看起来你正在使用错误的function。 有关ISNA的更多信息, 请参阅此处 。
请尝试:
Dim MyCell As Range For Each MyCell In ActiveSheet.Range("A1:A10") If Application.WorksheetFunction.IsNA(ActiveSheet.Range("C" & MyCell.Row)) = True Then 'do something End If Next
除非要testing特定的错误types,否则更简单的方法是使用IsError:
If IsError(ActiveSheet.Range("C" & MyCell.Row).Value) then
xlErrNA
#N/A
由设置为值为xlErrNA
的错误types的variant
build模。
ActiveSheet.Range("C" & MyCell.Row).Value = CVErr(xlErrNA)
将工作。
您可能需要先检查左侧的types,以避免一般情况下的types不匹配。
If VarType(ActiveSheet.Range("C" & MyCell.Row).Value) = vbError Then