我是程序设计的新手,很抱歉,如果我的问题很无聊。
我正在尝试创建一个宏来检查一系列单元格中的字符串“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。我知道我必须调暗一些东西,但不知道是什么。
感谢您的帮助!
答案 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