我正在尝试添加搜索字符串#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
答案 0 :(得分:3)
如果您真的需要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
答案 1 :(得分:0)
怎么样:
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