sorry but im a little unsure what you mean
Is there going to be one record or more than one?
And are you saying you then want to be taken to that record so you can edit it?
If thats the case and there is only one the following slightly amended code will work for you
If not please explain exactly what you want in more detail
Cheers
Gibbo
[VBA] Option Explicit
Function fnFind(strFind, Optional sh) As Range
If IsMissing(sh) Then Set sh = ActiveSheet
On Error Resume Next
Set fnFind = sh.Cells.Find(What:=strFind, _
After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
End Function
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SearchFor As Range
Dim StrNumber As String
If Target.Address = "$B$23" Then
StrNumber = Range("B23").Value
Set SearchFor = fnFind(StrNumber, Sheets("Out"))
If SearchFor Is Nothing Then
MsgBox ("Sorry Not Found")
Else
Sheets("Out").Select
SearchFor.Select
End If
End If
End Sub
[/VBA]