Foros del Web » Soporte técnico » Ofimática »

filtros con macros rangos de fecha

Estas en el tema de filtros con macros rangos de fecha en el foro de Ofimática en Foros del Web. buen dia queridos compañeros: por medio del presente te quiero pedir el apoyo con el siguiente tema: lo que sucede es que quiero filtra por ...
  #1 (permalink)  
Antiguo 23/06/2011, 10:09
 
Fecha de Ingreso: junio-2011
Ubicación: ibague
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta filtros con macros rangos de fecha

buen dia queridos compañeros:

por medio del presente te quiero pedir el apoyo con el siguiente tema:
lo que sucede es que quiero filtra por rangos la imformacion de una base de dato pero por fechas y pues... voy hasta este punto
Sub Macro3()
'
' Macro3 Macro
' filtro de fechas x entre
'

'
Selection.AutoFilter
Range("V1").Select
ActiveSheet.Range("$A$2:$FD$640").AutoFilter Field:=20, Criteria1:=">=", _
Operator:=xlAnd, Criteria2:="<="
End Sub

lo que quisiera, es que los valores me los pueda introducir por medio de un inputbox para ingresar los datos o los criterios que se piden >= y <=.

para de esta forma generar estos datos .

les agradesco el apoyo

feliz dia
  #2 (permalink)  
Antiguo 23/06/2011, 12:22
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses
Puntos: 88
Respuesta: filtros con macros rangos de fecha

Hola! Palito.
Te mostraré una opción en la que las fechas extremas son tomadas de las celdas D1 y D2, y suponiendo que el rango que muestras es el correcto:

Código PHP:
Sub Macro426()

ActiveSheet.AutoFilterMode False
Range
("$A$2:$FD$640").AutoFilter Field:=20Criteria1:=">=" _
  CDbl
([D1]), Operator:=xlAndCriteria2:="<=" CDbl([D2])

End Sub 
Saludos, Cacho.
  #3 (permalink)  
Antiguo 23/06/2011, 13:05
 
Fecha de Ingreso: junio-2011
Ubicación: ibague
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Respuesta: filtros con macros rangos de fecha

hola buenas tardes

de antemano te agardesco por tu respuesta PERO ME esta generando un error, no se si enviandote el archivo me puedas entender para darle fin a este gran problema de reportes que no he podido lograr finalizarlo.

agradesco tu apoyocompañero

no olvides enviarmetu mail por fa
  #4 (permalink)  
Antiguo 23/06/2011, 18:30
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses
Puntos: 88
De acuerdo Filtros con macros rangos de fecha

Mi estimado: te encuentras consultando una duda a través de un Foro.

Si nos intercambiamos información vía mail, ocurrirá que el resto de los miembros de este Foro se quedarán sin conocer el problema ni la posible solución.
A consecuencia de ello, la función de orientación pública del Foro resultará inutilizada, ¿comprendes?...

Lo mejor será, entonces, que subas tu libro a un servidor público como MediaFire, MegaUpload, RapidShare, etc. y publiques aquí un enlace a ese archivo.

Saludos, Cacho.
  #5 (permalink)  
Antiguo 26/06/2011, 05:13
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 18 años, 4 meses
Puntos: 56
Respuesta: filtros con macros rangos de fecha

Hola,

D1 y D2 son las celdas donde se introducen las fechas para actuar con el autofiltro?

Porque si es así, creo que el error puede ser que las fechas en las celdas deberían introducirse en formato "americano" mm/dd/aaaa

Un saludo.
  #6 (permalink)  
Antiguo 26/06/2011, 07:01
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses
Puntos: 88
De acuerdo Filtros con macros rangos de fecha

Hola! mi estimado jchuk.

Recordemos que -para el Excel- las fechas son números enteros y con "formato especial", mientras que las horas son números reales no negativos en el rango [0, 1] y con formato especial.

En un mensaje anterior (que -por supuesto- no he podido encontrar) explicábamos que cuando -vía macros- aplicas un Autofiltro a un campo fecha, el criterio que el método espera no es "la fecha", sino el número de serie asociado a la fecha.

Si la fecha del criterio la tomas de una celda de la propia hoja, entonces podrías hacer:

CDbl([E1]) ó [E1].Value2 ó CLng([E1])

Saludos Cacho.
  #7 (permalink)  
Antiguo 26/06/2011, 08:16
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 18 años, 4 meses
Puntos: 56
Respuesta: filtros con macros rangos de fecha

Hola mrocf,

Tiene sentido lo que dices, pues, efectivamente para excel no existen fechas sino valores numéricos formateados como tal.

Sin embargo, te comento mi propia experiencia, tanto en hojas de cálculo que tengo desarrolladas en mi trabajo, como en los cursos que impartía de excel.

Lo que realizaba era un simple filtro avanzado en cuyo rango de criterios establecía fechas de inicio y fin para unos períodos. Al grabar la macro, esta actuaba con las fechas que tuvieran las celdas del rango criterios, por lo que al cambiar las fechas y ejecutar la macro filtraba diferentes grupos de datos.

Pues bien, tuve que hacerme un procedimiento en vba que tomara las fechas, las "diera la vuelta" en formato americano y las devolviera al procedimiento principal que hacúia el filtro, pues en formato normal para nosotros no actuaba, el vba las leía al revés.

De ahí que piense que el problema es el modo en que se indica la fecha en cada celda de donde se toma. No obstante, es cierto que nunca probé a convertir el valor a double y ver que ocurría.

Sin probarlo, como te digo, creo que daría igual, pues en vba al momento de leer el valor de la celda ya ha entendido que los primeros dígitos pertenecen al mes y no al día, con lo que aunque conviertas al valor ya no corresponderá as la fecha realmente escrita en las celdas.

Ahora bien, sólo es lo que pienso, como te digo no lo he probado, igual me cuelo como un campeón y tienes toda la razón del mundo y el procedimiento funciona de lujo (lo que no me extrañaría lo más mínimo, porque no recuerdo que te hayas equivocado nunca)

Muchos saludos.
  #8 (permalink)  
Antiguo 26/06/2011, 14:34
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses
Puntos: 88
Respuesta: filtros con macros rangos de fecha

Mira: tanto es así que -hace unos días- en un Foro, ¿Sabes que hizo "alguien"?...

-> Aplicó a una celda (que contenía una fecha) un formato general, pasando -la celda- a mostrar el número de serie (por ejemplo: 40720);

-> Utilizó ese número como criterio en el autofiltro; y

-> Finalmente volvió la celda a formato fecha.

Como ves: ¡más de lo mismo!

De hecho, te sugiero que hagas una prueba sencilla:
-> Arma una lista de fechas, por ejemplo con los últimos 40 días.
-> Aplica -manualmente- un AutoFiltro
-> Y -también manualmente- filtra las fechas mayores o iguales que 40700 (o sea: el 6-jun-2011)

Verás que "manualmente" también el Autofiltro entiende eso de trabajar con los números de serie...
Saludos, Cacho.

Última edición por mrocf; 26/06/2011 a las 14:41
  #9 (permalink)  
Antiguo 27/06/2011, 02:01
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 18 años, 4 meses
Puntos: 56
Respuesta: filtros con macros rangos de fecha

Hola,

Pues sí, efectivamente, como siempre, tienes toda la razón.

He andado probando con el código que proporcionaste y funciona perfectamente convirtiendo la fecha a un double.

Mi problema es que usaba directamente la fecha que obtenía de las celdas y, claro, el vba me la trataba en formato americano, pero convirtiendo el valor a numérico corre perfectamente.

Por cierto, quizás sería conveniente que Palito03551 comentara porque no le va tu código o que tipo de error le devuelve, ya que, como te comento, va perfecto.

Saludos.
  #10 (permalink)  
Antiguo 30/07/2011, 19:35
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: filtros con macros rangos de fecha

Tengo una consulta nueva sobre este mismo tema: Para un flujo de caja, tengo en una hoja columnas con cada semana. En la segunda hoja tengo todos los cheques emitidos. En la primera columna, la fecha, luego numero del cheque, beneficiario y monto en las siguientes columnas. Necesito una funcion (sumar, si?) que me de la sumatoria de todos los cheques que estan entre 2 fechas. No he logrado hacerlo.
  #11 (permalink)  
Antiguo 30/07/2011, 21:04
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses
Puntos: 88
Filtros con macros rangos de fecha

Cita:
Iniciado por xduque Ver Mensaje
Tengo una consulta nueva sobre este mismo tema: Para un flujo de caja, tengo en una hoja columnas con cada semana. En la segunda hoja tengo todos los cheques emitidos. En la primera columna, la fecha, luego numero del cheque, beneficiario y monto en las siguientes columnas. Necesito una funcion (sumar, si?) que me de la sumatoria de todos los cheques que estan entre 2 fechas. No he logrado hacerlo.
Lo puedes lograr con dos SUMAR.SI ó con SUMAPRODUCTO.

Como lo que planteas no tiene nada que ver con el presente tema (un tema de filtros), te sugiero que abras un nuevo tema y que allí muestres un enlace a tu libro, para devolverte ambas posibilidades.

Saludos, Cacho R.

Etiquetas: fecha, filtros, macros, rangos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:05.