Thanks, Mana.

I did the following change :

Sub Test()

    Dim Sh1 As Worksheet
    Dim Sh2 As Worksheet
   
    Set Sh1 = Sheets(1)
    Set Sh2 = Sheets(2)
    For Each cel In Sh2.Columns(1).SpecialCells(2)
        With Sh1.Cells
            Set c = .Find(cel, lookat:=xlWhole)
            Do
                If Not c Is Nothing Then
                    c.Value = Replace(c, cel, cel.Offset(, 1))
                End If
                Set c = .FindNext(c)
            Loop Until c Is Nothing
        End With
    Next
End Sub
but I still have problem with single digit numbers.