Saltar al contenido

Filtrar datos por fecha

publicado

¡Hola! Estoy intentando hacer una macro para que pida dos fechas (una de inicio y una de fin) y filtrar según esos valores en la columna "fecha de cierre de recomendación". La cuestión es que no sé si es necesario que a las Inputbox les especifique que están recibiendo fechas. Lo digo porque no me funciona bien y no logro atinar por qué.

Os pongo a continuación el código:

Sub Filtrar_fecha()
     fecha_inicio = Application.InputBox("Introduzca fecha desde la que quiere ver las recomendaciones. Por favor, asegúrese de que el formato introducido es dd/mm/yyyy")
    fecha_fin = Application.InputBox("Introduzca fecha hasta la que quiere ver las recomendaciones. Por favor, asegúrese de que el formato introducido es dd/mm/yyyy")
    Rows("1:1").Select
    Selection.Find(What:="fecha de cierre de la recomendación", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
    ActiveSheet.Range("$A$1:$CF$750").AutoFilter Field:=68, Criteria1:= _
        ">=" & fecha_inicio, Operator:=xlAnd, Criteria2:="<=" & fecha_fin
End Sub

¡Muchas gracias!

Un saludo

Featured Replies

publicado
  • Autor

¡Gracias! como no tenía muy claro cómo hacerlo, grabé una macro para él.

El problema es que necesito que se haga de manera automática al pulsar un botón...

publicado

@doncanela, como te dicen tienes varios errores de concepto. Mejor sube un ejemplo de tu archivo para ver cómo se estructuran los datos y poder darte una respuesta válida. Por ejemplo estas buscando algo que no has definido en ningún sitio ( "fecha de cierre de la recomendación" )

Por otro lado, o buscas y seleccionas o filtras... :). A ver si te sirve de ayuda

publicado
  • Autor

Hola @Haplox, te adjunto un ejemplo del fichero que quiero filtrar.

Importante: los campos no tienen por qué ir siempre en el mismo orden... por eso tengo puesto que busque el campo "Fecha cierre recomendación".

 

¡Muchísimas gracias por vuestros consejos! ?

Fichero pruebalimpio.xlsx

publicado

Te dejo una solución @doncanela . Verás que he definido inicio y fin como Date (fecha), pero no es necesario, ni siquiera es lo mejor. Esto es para que en los inputbox puedas poner, como en excel "2/6/19" y lo tome como fecha "02/06/2019" y no te de error.

Verás que luego lo transformo a Long (Clng(ini), en excel las fechas son números) en el filtro, si no el filtro te da error o no te muestra nada.

Verás que los rangos son dinámicos, da igual el número de filas o columnas que tengas. Verás que he insertado una fila al pricipio, para poder poner el botón

Copia de Fichero pruebalimpio.xlsm

Archivado

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