Excel VBA代码替换单元格范围内的字符串

Excel VBA代码替换单元格范围内的字符串,excel,vba,Excel,Vba,我正在尝试添加搜索字符串#DIV/0的代码!在一系列单元格(EF:W10)中,如果找到,将用NA替换该单元格。下面是我所拥有的,但它不太有效。我错过了什么 Dim rngDiv As Range For Each rngDiv In Range("E4:W10") If InStr(rngDiv.Value, "#DIV/0!") > 0 Then rngDiv.Value = "NA" End If Next rngDiv 如果确实需要VBA来执行此操作

我正在尝试添加搜索字符串#DIV/0的代码!在一系列单元格(EF:W10)中,如果找到,将用NA替换该单元格。下面是我所拥有的,但它不太有效。我错过了什么

Dim rngDiv As Range
For Each rngDiv In Range("E4:W10")
    If InStr(rngDiv.Value, "#DIV/0!") > 0 Then
        rngDiv.Value = "NA"
    End If
Next rngDiv

如果确实需要VBA来执行此操作,则可以使用
IsError()
函数

Dim rngDiv As Range
For Each rngDiv In Range("E4:W10")
    If IsError(rngDiv) Then
        rngDiv.Value = "NA"
    End If
Next
不过,最好是在实际公式中捕捉错误,而不是事后使用VBA


注意:如果您只需要
#DIV/0,以上内容将捕获所有错误错误然后您需要测试
.Text
属性而不是
.Value
属性:

Dim rngDiv As Range
For Each rngDiv In Range("E4:W10")
    If rngDiv.Text = "#DIV/0!" Then
        rngDiv.Value = "NA"
    End If
Next rngDiv

如果确实需要VBA来执行此操作,则可以使用
IsError()
函数

Dim rngDiv As Range
For Each rngDiv In Range("E4:W10")
    If IsError(rngDiv) Then
        rngDiv.Value = "NA"
    End If
Next
不过,最好是在实际公式中捕捉错误,而不是事后使用VBA


注意:如果您只需要
#DIV/0,以上内容将捕获所有错误错误然后您需要测试
.Text
属性而不是
.Value
属性:

Dim rngDiv As Range
For Each rngDiv In Range("E4:W10")
    If rngDiv.Text = "#DIV/0!" Then
        rngDiv.Value = "NA"
    End If
Next rngDiv
那么:

Sub marine()
    Dim rngDiv As Range
    For Each rngDiv In Range("E4:W10")
        If rngDiv.Text = "#DIV/0!" Then
            rngDiv.Value = "NA"
        End If
    Next rngDiv
End Sub
那么:

Sub marine()
    Dim rngDiv As Range
    For Each rngDiv In Range("E4:W10")
        If rngDiv.Text = "#DIV/0!" Then
            rngDiv.Value = "NA"
        End If
    Next rngDiv
End Sub

与其用大锤杀死苍蝇,不如将这些单元格中的公式改为
=IFERROR([当前公式],“NA”)
?同意@MacroMan!不行。整个代码都需要在脚本中,这样才能在空白的新excel工作表上运行。但是,脚本必须在某个时候将公式添加到单元格中。让脚本添加MacroMan公式而不是当前公式。与其使用大锤杀死苍蝇,不如将这些单元格中的公式更改为
=IFERROR([当前公式],“NA”)
?同意@MacroMan!不行。整个代码都需要在脚本中,这样才能在空白的新excel工作表上运行。但是,脚本必须在某个时候将公式添加到单元格中。让脚本添加macromans公式,而不是当前的公式。是的,这就是我要找的。谢谢是的,这就是我要找的。非常奇怪地谢谢你-我实际上要链接到-非常奇怪-我实际上要链接到