| und schon ist etwas Code zu sehen und man hat das Problem vor Augen.   die "on error" anweisung schreibt man vor de fehlerverursachenden Code.  
hier eine kleine Funktion die man easy im Code nutzen kann.
 Private Function Worksheet_exists(Name As String) As Boolean
   On Error Resume Next
     Worksheet_exists = Not (Worksheets(Name) Is Nothing)
 End Function  dein if exist = Textbox1  then geht nicht weil exist nur bei einem Fund einen Wert hat. sonst wäre es nothing und dann gibt es den Fehler.  ein übliches Konstrukt um Range.find() auszuwerten  wäre dies.  
 Set exist = Range("Part_no.").Find(What:=TextBox1.Value, LookIn:=xlValues, Lookat:=xlWhole)                                     '********Column C3:C25
    If Not exist Is Nothing Then
        ' nur wenn etwas gefunden wurde, erhält das Rangeobjekt eine Referenz und ist nicht nothing
    Else
        ' wenn nichts gefunden wurde   
    End If  |