Código Visual Basic que me busque un valor en una base de datos

Necesito el código visual basic para hacer lo siguiente:

En la celda A4 de la hoja BÚSQUEDA yo coloco el valor. Quiero encontrar ese valor en la hoja DATOS en la columna B pero de la siguiente manera: Como yo sé que el valor que esta en A4 esta repetido en la columna B de la hoja BÚSQUEDA, lo que deseo es que me encuentre la ULTIMA FILA (osea el ultimo registro repetido de arriba hacia abajo, o lo que es lo mismo la primera vez que aparece ese dato de ABAJO hasta ARRIBA).

Una vez encontrado, que me de un msgbox que diga "El ultimo día que "&a4&" fue registrado fue "&hojadatos. Celda

Algo así como esto:

Sub BuscarUltimo()
Set h1 = Sheets("BUSQUEDA")
Set h2 = Sheets("DATOS")
Set u = h2.Columns("B").Find(h1.[A4]), .....
'Es aqui hasta donde llego por que si pongo lookat:=xlwhole me encuentra el primero
'de arriba hacia abajo y lo que quiero es lo contrario, el primero de abajo hacia arriba
'Despues de eso si continua lo siguiente
If Not u is Nothing Then
MsgBox "El ultimo día en el cual " &h2.cells(u.Row, "B")& " fue registrado es "&h2.cells(u.Row, "A")
Else
MsgBox "El dato no esta registrado"
End If
End Sub

1 respuesta

Respuesta
1

Eso lo podés hacer por medio de función, si tienes x cantidad de datos repetidos en una columna y en otra columna las fechas asociadas, con el filtro ordena las fecha a modo que el primer registro de abajo quede arriba en la columna, luego lo que haces es usar la función BUSCARV o CONSULTAV para la búsqueda de datos, la función buscarv buscará el primer valor que coincida de arriba hacia abajo y ahí ya tendrás tus resultados, es simple

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas