Búsqueda de dato con macro

Solicito de su ayuda para solucionar un problema del que no he podido dar con la respuesta: tengo una base de datos en excel de la columna A a la AA en la columna Q se registras números de serie, y que se pueden repetir en diferentes filas siempre dentro de la columna Q.

Me puedes ayudar con un código en VBA en dónde busque el último registro de un número de serie, ya que el código que tengo siempre busca el primer registro de ese número de serie, por ejemplo: si un "x" número de serie se repite en las filas 10, 50, 200, 300, que sólo me busque la información de la fila 300.

El número de serie a buscar lo capturo en un textbox y la información de las columnas que requiero que se desplieguen se me despliegan en otros textbox, pero siempre me despliega la información del primer registro que encuentra y no del último que es lo que requiero.

Ojalá pueda responder a mi duda, ya que he buscado y no logro encontrar la solución.

Respuesta
1

H o l a:

No me dijiste si los textbox están en la hoja o en un userform.

Te anexo un ejemplo para realizar la búsqueda, suponiendo que es un userform, que capturas el número de serie en el textbox1 que vas a llenar los textbox2 y 3.

Cambia "base de datos", por el nombre de la hoja.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    numserie = TextBox1
    If numserie = "" Then Exit Sub
    Set h = Sheets("base de datos")
    Set b = h.Columns("Q").Find(numserie, lookat:=xlWhole, searchdirection:=xlPrevious)
    If Not b Is Nothing Then
        'en el objeto b tienes el objeto celda encontrada
        TextBox2 = h.Cells(b.Row, "A")
        TextBox3 = h.Cells(b.Row, "P")
    Else
        MsgBox "Serie no existe"
    End If
End Sub

Lo que hace el ejemplo es buscar el numserie que tienes en el textbox1, si lo encuentra, pone en el textbox2 el dato de la columna A y en el textbox3 el dato de la columna P,  deberás adaptarlo a tus datos.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas