ページ

2014年9月12日金曜日

マクロでFindを使い検索した結果、見つからなかった場合

Excel2013のマクロでFindを使い検索した結果、見つからなかった場合、エラーになって停止してしまいます。そのエラーを対処する方法です。

Findを使い検索した結果、見つからなかった場合、「オブジェクト変数またはWithブロック変数が設定されていません。」とエラーメッセージが表示されます。このエラーの発生を回避させます。
エラーの発生を回避させます
前回のマクロでFindを使い検索するを下記コードに変更します。

Sub MyFind()
    Dim s As String
    Dim Rng As Range
  
    s = InputBox("検索する製品名を入力してください。")
    Set Rng = Cells.Find(What:=s, LookIn:=xlValues, LookAt:=xlWhole)
    If Rng Is Nothing Then
        MsgBox "見つかりませんでした。"
    Else
        Rng.Activate
    End If
End Sub
マクロでFindを使い検索するを下記コードに変更します
検索した結果見つからなかった場合、「見つかりませんでした。」とメッセージが表示されエラーによるマクロの停止は回避されました。
マクロの停止は回避されました