Modificar un dato por otro, desde UserForm
En un libro de Excel tengo una hoja en donde en las columnas A y E se registran los códigos de unos productos, dichos productos se repiten varias veces en las mismas columnas, por ejemplo el producto que tiene el código 0010 puede encontrarse en varias filas de la hoja, y así con diferentes referencias; en ocasiones se hace necesario modificar el código de dicho artículo y esta tarea normalmente se hace manualmente, por ejemplo buscando el código 0010 y cambiándolo por el 00100; por lo extenso del trabajo se intenta modificar dicho dato mediante un formulario, en donce en el TextBox1 se escribe el código actual del producto (0010), y en el TextBox2 se indica el nuevo código por el cual se desea cambiar (00100), la macro que realiza el cambio es la siguiente:
Worksheets("HOJA_CÓDIGOS").Select
ActiveSheet.Unprotect "XXX"
Range("A:A,E:E").Select
Selection.Replace What:=TextBox1, Replacement:="" & TextBox2, lookat:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
ActiveSheet.Protect "XXX"
Range("A1").Select
Sheets("HOJA_CÓDIGOS").Select
Range("A1").Select
El problema que se tiene es que al realizar la tarea se modifican otros items que coinciden en parte con el dato indicado en el TextBox1, por ejemplo, se reemplazan los códigos 010, 10, 01000, etc, todos se cambian por el nuevo código que se ha indicado.
Cómo podría modificar la instrucción para que solamente se reemplacen por el nuevo dato los códigos que coinciden exactamente con el dato indicado en el Textbox1?