Saltar al contenido

Filtrar datos por fecha


doncanela

Recommended Posts

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

publicado

¡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

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.

×
×
  • 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.