Reemplazar dato en varias hojas Excel
Tengo un libro que tiene 3 hojas "Productos", "compras" y "ventas", en la hoja "productos" en las columnas A y C, se guarda el código de un producto en formato texto, y en las otras hojas, en las columnas A y E se guarda el mismo dato con formato texto.
Mediante un formulario quiero reemplazar el código de un producto, por ello en el textbox1 ingreso el dato tal como está en este momento, y en el textbox2 ingreso el dato que quiero reemplazar en todas las hojas; la macro es la siguiente:
Sub ModificaCodigo()
'si los textbox están vacíos te informa
If TextBox1 = "" Then
MsgBox "Debe ingresar el dato origen"
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "Debe ingresar el nuevo dato"
Exit Sub
End If
'busca el dato y lo cambia en la hoja productos
'TextBox2 = Format(TextBox2, "@")
Worksheets("PRODUCTOS").Select
ActiveSheet.Unprotect "***"
Range("A:A,C:C").Select
Selection.Replace What:=TextBox1, Replacement:="" & TextBox2, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
ActiveSheet.Protect "***", DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFiltering:=True, AllowUsingPivotTables:=True
Range("A1").Select
'hoja compras
Worksheets("COMPRAS").Select
ActiveSheet.Unprotect "***"
Range("A:A,E:E").Select
Selection.Replace What:=TextBox1, Replacement:="" & TextBox2, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
ActiveSheet.Protect "***"
Range("A1").Select
'hoja ventas
Worksheets("VENTAS").Select
ActiveSheet.Unprotect "***"
Range("A:A,E:E").Select
Selection.Replace What:=TextBox1, Replacement:="" & TextBox2, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
ActiveSheet.Protect "***"
Range("A1").Select
Sheets("PRODUCTOS").Select
Range("A1").Select
Unload Me
End Sub
El problema que tengo es que la macro si en las tablas hay codigos con ceros adelante, este los reemplaza como si se tratara de un numero, por ejemplo, en la tabla existe el código 01 y el codigo 0001 (los cuales son diferentes), si en el textbox1 ingreso el 01, y en el textbo2 ingreso 03, la macro me reemplaza no solamente el 01 x 03, sino que también me reemplaza el 0001 x 03.
¿Cómo podría corregir la instrucción?