繁体   English   中英

Excel VBA代码替换单元格区域中的字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM