Buscar una cadena que ingreso en un textbox en un rango

Estoy haciendo un formulario y en el textbox3 ingreso un código (de algún producto) y necesito que en el textbox2 y textbox5 me aparezca la descripción y unidad de medida correspondiente al código que ingresé, estos datos los tengo en una hoja dentro del mismo excel (hoja "maestro materiales", he intentado hacer un código pero no me funciona. Además el código que ingreso es una mezcla de letras y números (ejem: SUMCOM001) y en mi maestro de materiales la columna de código tiene el formato de texto como "general".

Espero su ayuda..!

Private Sub TextBox3_AfterUpdate()

Dim ult As Long

ult = Sheets("MAESTRO MATERIALES").Cells(Rows.Count, 3).End(xlUp).Row
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ubica = Sheets("MAESTRO MATERIALES").Range("C8:C" & ult).Find(TextBox3.Value).Row
TextBox5.Value = Range("C" & ubica).Offset(0, 1).Value
TextBox2.Value = Range("C" & ubica).Offset(0, 2).Value
End Sub

1 respuesta

Respuesta
1

La búsqueda hacela del siguiente modo:

Private Sub TextBox3_AfterUpdate()
'ajustada x Elsamatilde
Dim ult As Long
ult = Sheets("MAESTRO MATERIALES").Cells(Rows.Count, 3).End(xlUp).Row
Set busco = Sheets("MAESTRO MATERIALES").Range("C8:C" & ult).Find(Textbox3.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
    'como lo encontró pasa los valores de esa fila a los otros textbox
    TextBox5.Value = Range("C" & busco.Row).Offset(0, 1).Value
    TextBox2.Value = Range("C" & busco.Row).Offset(0, 2).Value
Else
    'si el dato no existe deja vacíos los textbox
    TextBox2 = "": TextBox5 = ""
End If
End Sub

Sdos y no olvides valorar la respuesta si el tema queda resuelto.

PD) Podés encontrar más ejercicios con el uso de Set en la sección Ejemplos de mi sitio.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas