2016-09-21 17 views
-1

これは簡単ですが、動作させることができません。私はシート上の単語 "トン"を検索する必要があります。シート上の単語のExcelマクロ検索

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 

「オブジェクト変数またはWithブロック変数が設定されていません」というエラーが表示されます。私のコードは、 "Tons"という単語がシート上にあるときにはいつでも動作しますが、そうでないときはいつでもエラーに戻ります。 助けてくれてありがとう。

+1

.Findの最後に.Activateとtrueを付けたこのものは間違っています。ここをクリックしてください:https://msdn.microsoft.com/en-us/library/office/ff839746.aspx – Vityata

答えて

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し、テストを作成してください。

+0

これは正しいソリューションです。ありがとうございました。 – user3264602

関連する問題