Excel 在IF语法VBA中包含#N/A值

Excel 在IF语法VBA中包含#N/A值,excel,vba,if-statement,syntax,Excel,Vba,If Statement,Syntax,在代码中包含单元格中的#N/a值时出现问题。在我的工作表中,我想消除单元格的内容,因为它的值是0或#N/A,但我不知道如何为#N/A编写VBA代码 这是适用于我的代码,但在遇到#N/A单元格时仍会出现错误 For Each value In Sheets("Comments").Range("C2:Y600") If value = 0 Or value = "#N/A" Then value = " " End If Next 如果单元格IsNA Dim c

在代码中包含单元格中的#N/a值时出现问题。在我的工作表中,我想消除单元格的内容,因为它的值是0或#N/A,但我不知道如何为#N/A编写VBA代码

这是适用于我的代码,但在遇到#N/A单元格时仍会出现错误

For Each value In Sheets("Comments").Range("C2:Y600")
    If value = 0 Or value = "#N/A" Then
        value = " "
    End If
Next

如果单元格
IsNA

Dim c As Range
Dim DefaultValue As String

DefaultValue = " "

For Each c In Sheets("Comments").Range("C2:Y600")
    If Application.IsNA(c) Then
        c.Value2 = DefaultValue
    Else
        If c.Value2 = 0 Then
            c.Value2 = DefaultValue
        End If
    End If
Next

当遇到N/ATry using与变量名(而不是
value
时,仍然会出现类型不匹配错误,因为这是一个保留关键字。另外,您是如何声明变量的?@AncaVulc如果,则无法在一个
中同时测试这两个变量,因为如果它包含NA,则测试
c.Value2=0
失败。如果
Application.IsNA(c)
的第一次测试和
c.Value2=0的第二次测试是
If
的话,你需要2个
ᴇʜ干杯-我想我需要更多的早晨coffee@AncaVulc实际上,这是一个新问题,与原始问题无关,最好在代码运行时不显示错误。