Saltar al contenido

Macro: Buscar una fecha indicada en una columna y seleccionar celda encontrada


Recommended Posts

publicado

Estimadisimos amigos del foro:

Estoy creando una planilla para controlar avance de una construcción, necesito solucionar el siguiente problema.

En la comuna E tengo las fechas de cada día de trabajo. y al lado de cada fecha, tengo campos como avance, rendimiento, etc..

Lo que quiero hacer es que al principio de la hoja (digamos, celda M35), uno pueda escribir la fecha que quiere revisar, y al apretar enter (o pulsar un boton), una macro busque la fecha indicada en la columna B, y si encuentra tal fecha, la seleccione.

Esto para que cada día que se quiera ingresar un avance, no halla que navegar para encontrar la fila correspondiente al día que se quiere rellenar, sino que la macro haga ese trabajo.

Muchas gracias comunidad Ayuda excel

publicado

Saludos.

Basandome en el ejemplo que adjuntaste, te sugiero la siguiente macro, la puedes ejecutar desde cualquier hoja.

Sub Buscar_Fecha()
Dim fcha As Range
Fecha = Application.InputBox("Ingrese la fecha", "Buscador de fechas")
With Sheets("Hoja1")
.Activate
Set fcha = .Range("C:C").Find(What:=Fecha, LookAt:=xlWhole)
If Not fcha Is Nothing Then
fcha.Offset(, -1).Activate
End If
End With
End Sub[/PHP]

Atte.

joshua

publicado

Hola Joshua, primero que nada agradecerte mucho por la ayuda.

Segundo, la macro no me funciona bien. Cuando la ejecuto, o bien me manda a otra hoja del documento, o crea una hoja nueva, pero no busca la fecha en la columna indicada (columna E)

Me imagino que el error se puede deber a que las fechas corresponden a una formula y no a un valor (la formula es =+DIA.LAB(E53;1;datos!$A$2:$A$80)), Quizás por eso no encuentra la fecha indicada y me manda siempre a otra hoja.

Si puedes ayudarme con esto sería increible.

Saludos

- - - - - Mensaje combinado - - - - -

Smako, muchas gracias por la ayuda, pero la macro no me corre bien. al cambiar el valor de la celda I5, se ejecuta la macro pero me arroja error (variable de objeto o bloque With no establecido), y al abrir el depurador, me destaca en amarillo Buscar.activate. (linea 14).

Si me pudieras ayudar con esto te lo agradecería mucho.

Saludos

publicado

Felipe, esto pasa porque nosotros hicimos una macro imaginandonos como sería tu búsqueda de acuerdo a lo que nos explicaste y tu solo estas copiando y pegando en tu archivo el código, por eso no te funciona. Manda tu archivo original para poder adaptarte el código a dicho archivo

publicado

Ahora si hermano, pega esto en el código de la Hoja 1 y ya te debe funcionar:


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Fecha As String
Dim Buscar As Range

Fecha = Range("L35")

If Target.Address = "$L$35" Then

With Worksheets(1).Range("D15:D31")
Set Buscar = .Find(Fecha, LookIn:=xlValues)
On Error Resume Next
Buscar.Activate
End With

If Buscar Is Nothing Then
MsgBox ("Fecha no encontrada")
End If

End If

End Sub
[/PHP]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.