错误13简单查找和替换VBA

时间:2016-07-21 20:09:50

标签: string vba excel-vba excel

我是程序设计的新手,很抱歉,如果我的问题很无聊。

我正在尝试创建一个宏来检查一系列单元格中的字符串“Meh”,并将其上方的单元格替换为“BlahBlah”

到目前为止我的代码:

Sub Findandreplace()


Dim E As String, Wide As Range, R As Range

E = "Meh"

Set Wide = Range("A1:CM300")

For Each R In Wide

    If InStr(R.Value, "Meh") > 0 Then
        R.Offset(-1, 0).Value = "BlahBLah"

End If

我第一次运行它,但现在它在if语句中给了我一个错误类型13。我知道我必须调暗一些东西,但不知道是什么。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

不,你没有Dim任何东西。顺便说一下变量名很糟糕。

当单元格值本身出错时,会出现类型错误匹配错误(例如#N / A,#DIV / 0!)

使用IsError

在代码中进行检查
Sub test()
Dim E As String, Wide As Range, R As Range

E = "Meh"

Set Wide = Range("A1:CM300")

For Each R In Wide

    '/ Check if the cell contains an error.
    If Not IsError(R) Then
        If InStr(R.Value, E) > 0 Then
            R.Offset(-1, 0).Value = "BlahBLah"
        End If
    End If
Next


End Sub