Excel宏搜索工作表上的单词

时间:2016-09-21 15:48:58

标签: excel vba excel-vba macros

这很简单,但我无法让它发挥作用。我需要在工作表上搜索“Tons”这个词。

Sub findText()

If Cells.Find(What:="Tons", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate = True Then
MsgBox "Word Found"
Else
MsgBox "Word Not Found"
End If

End Sub

我收到错误“对象变量或未设置块变量”。每当单词“Tons”出现在工作表上时,我的代码就会起作用,但只要不是,就会返回错误。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:4)

考虑:

Sub findText()
Dim r As Range
Set r = Cells.Find(What:="Tons", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
If Not r Is Nothing Then
    MsgBox "Word Found"
Else
    MsgBox "Word Not Found"
End If

End Sub

尝试创建Range,然后测试您是否成功。