thanks it works if i want it to say that it was not found but what i wanted was it to warn the typist that it has been entered in so that they know that they will be overwriting data.

I tried modiefying your code to the below

Columns("o:o").Select
Id = Range("x5").Value

Set abc = Selection.Find(What:=Id, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False)

If abc Is Nothing Then
' MsgBox "not found"

Else
abc.Activate
MsgBox "not found"
End If

some reason it finds the value but still says not found.

any ideas??