Error handling

  • Thread starter Thread starter John Pierce
  • Start date Start date
J

John Pierce

I have this simple program that captures a string and then jumps
to another sheet to look for that string. It works most of the but
causes an annoying error when "findThis" is not on the target sheet.
I have tried various "On Error GoTo . . ." with no success.

Sub FindThis()
'
Dim FindThis As String
FindThis = ActiveCell.Text
Sheets("Box Log").Select
Cells.Find(What:=FindThis, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
'
End Sub
 
The easiest may be to use "On Error Resume Next":

On Error Resume Next
....your code here
if Err.Number > 0 then
'log message
end if
On Error Goto 0

Bill Barclift
 
Sub FindThis()
'
Dim rng as Range
Dim FindThis As String
FindThis = ActiveCell.Text
Sheets("Box Log").Select
set rng = Cells.Find(What:=FindThis, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:= _
False)
if not rng is nothing then
rng.Select
end if
'
End Sub
 
John,

The better way to work with Find is to write the code in the following
manner:

Dim FoundCell As Range
Set FoundCell = Cells.Find(....)
If FoundCell Is Nothing Then
' code for value not found
Else
' code for value found
End If
 
Back
Top