Saludos.
Desde hace varios días estoy tratando de finalizar una pequeña aplicación,
pero no lo he conseguido.
Necesito desesperadamente de su auxilio y consejo.
Se los trataré de explicar rápido.
Concentro registros desde muchos libros en uno solo. Los ordeno por fecha de
movimiento. Después muestro un Form con dos DTPickers, para que el usuario
indique el rango de fechas del reporte que desea. Entonces paso los valores
de los DTPickers al autofiltro del libro con los concentrados por VBA.
Error: Cero registros.
Al principio sufrí con la inversión de las fechas en los campos mes y dia,
por ejemplo, 01/08/05 se me volvía 08/01/05.
Use dateformat, dateserial, convertí las fechas a String y nada.
Entonces, cambié todas las fechas de los archivos origen a texto (y desde
luego las rutinas que los generan), para solo tener que pelear con texto.
Error: No se pueden filtrar rangos de fecha que estan en formato de
texto!
Por último: Cambié los formatos de los DTPickers a custom: 01/Ago/05.
Problema: sólo funciona si pongo la condición a O en vez de a Y.
Que quiero decir? Que si paso las fechas delimitadoras del rango deseado y
luego digo:
Selection.AutoFilter Field:, Criteria1:=">=" & Trim(Fecha_inicial_texto),
Operator:=xlAnd _
, Criteria2:="<=" & Trim(Fecha_final_texto)
(Porque tuve que pasar las fechas a texto, si no no me funcionaba)
En el autofiltro aparecen como: 01/07/05 [lo cual es correcto] y 04/Ago/05
[lo cual también es correcto pero tiene otro formato, por lo que hace
NADA!!]
En cambio si pongo:
Selection.AutoFilter Field:, Criteria1:=">=" & Trim(Fecha_inicial_texto),
Operator:=xlOr _
, Criteria2:="<=" & Trim(Fecha_final_texto)
En el autofiltro aparecen como: 01/Jul/05 [lo cual es perfectamente
correcto] y 04/Ago/05 [lo cual también es correcto pero como le dije O,
muestra un montón de registros que no necesito]
En pocas palabras, se cambia el formato de uno de los parámetros del
autofiltro si uso la condición Y, pasándolos por VBA.
Agradezco de antemano cualquier orientación.
Leer las respuestas