Realizar búsqueda exacta y no aproximada o coincidencia con macro
Estoy empleando este procedimiento para realizar búsqueda de información en una hoja de Excel y llenar un formulario con la información relacionada:
Public Sub P_Buscar_Productos() Application.ScreenUpdating = False If Txt_Codigo_Producto.Text = "" Then MsgBox "Debe suministrar el código de producto para realizar la búsqueda", vbInformation, "Sistema" Exit Sub End If Set h = Sheets("Productos") Set B = h.Columns("B").Find(Txt_Codigo_Producto.Text) Set h2 = Sheets("Productos") If Not B Is Nothing Then Cells(B.Row, "A").Select ActiveCell.Activate End If If Not B Is Nothing Then Me.Txt_Registro.Text = h.Cells(B.Row, "A") Me.Txt_Categoria.Text = h.Cells(B.Row, "C") Me.Txt_Id.Text = h.Cells(B.Row, "A") Me.Cmb_Nombre.Value = h.Cells(B.Row, "I") Me.Txt_Presentacion.Text = h.Cells(B.Row, "K") Me.Txt_U_Medida.Text = h.Cells(B.Row, "N") Me.Txt_Existencias.Text = h.Cells(B.Row, "R") If Me.Txt_Id.Text = "" Then MsgBox "El producto No. " & Txt_Codigo_Producto.Text & " no registra en el sistema", vbInformation, "Almacén ESM 3010" Me.Txt_Codigo_Producto.SetFocus Exit Sub End If End If Application.ScreenUpdating = True End Sub
El problema radica en que, si realizo la búsqueda de un producto que tenga el código 1058 que sería por ejemplo JABóN, pero si hay antes otro producto con un código más largo que también tenga 1058, por ejemplo 7702410586541 o, 770251451058, me trae la primera coincidencia donde esté "1058" y no me trae específicamente el código 1058 nada más.
¿Cómo puedo corregir ese problema?
1 respuesta
Respuesta de Dante Amor
1