When working with the active worksheet you do not need to use worksheets(1) in the code
With Cells
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
As the above example finds 2 and replaces that with 5 you could use
Cells.Replace What:="2", Replacement:="5", LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Bookmarks