[英]Excel VBA code to replace string in range of cells
我正在尝试添加将搜索字符串#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
怎么样:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.