Excel VBA代码来replace单元格区域中的string
我正在尝试添加将searchstring#DIV / 0的代码! 在一个单元格范围内(EF:W10),如果find,将用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!
错误,那么你需要testing.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