.18/10/16
Hola, Matías
Me tomé el atrevimiento de contestar esta pregunta aunque no sé muy bien a quién se la dirigias.
Pero bueno, a esta hora...
Si te hubiera entendido correctamente, el siguiente código deja en la base la última vez que se consultó, supuesto -claro está- que se haya ejecutado la macro con aquel botón.
Accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:
Sub ConsUltima()
'---- Variables modificables:
'=== MATIAS, modifica estos datos de acuerdo a tu proyecto:
CelDato = "G4" 'donde genera el código
HojaBase = "Base de datos" 'Hoja donde está la base
ElRango = "A2:H1704" 'Columna donde acumula los datos. Al principio tendrá sólo el título
Col = 6 'Columna donde debe dejar la fecha-hora de la última búsqueda
'---- fin Variables
'
'---- inicio de rutina:
'
ActiveSheet.Calculate
RangoBusq = Range(ElRango).Columns(1).Address
Buscar = Range(CelDato).Value
On Error Resume Next
Encontrado = Sheets(HojaBase).Range(RangoBusq).Find(What:=Buscar, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns).Address
If Len(Encontrado) > 0 And Len(Buscar) > 0 Then
Sheets(HojaBase).Range(Encontrado).Offset(0, Col - 1).Value = Now()
Sheets(HojaBase).Range(Encontrado).Offset(0, Col - 1).Interior.ColorIndex = 20
Else
ElMensaje = "El código " & IIf(Len(Buscar) > 0, Buscar, "<sin dato>") & " de la celda: " & CelDato & Chr(10) & _
"no fue encontrado en el rango " & ElRango & " de la hoja " & HojaBase & Chr(10) & "No se hizo acción alguna."
ElTitulo = "NO SE ENCUENTRA ESE VALOR!"
TipoMens = vbCritical
MsgBox ElMensaje, TipoMens, ElTitulo
End If
Err.Clear
On Error GoTo 0
End Sub
Respeté las direcciones que diste y están ya dentro de algunas variables que dejé al principio, por si -eventualmente- quieres cambiarlas.
Como la rutina modifica datos en tu base, conviene que la pruebes sobre una copia de ese archivo/hoja, al menos hasta que estés seguro que hace lo que deseas.
.