Macro para filtrar entre fechas
Llevo unos días intentando filtrar algunos datos con fecha del mismo MES, mediante una macro y no hay manera.
La idea es: Escribir en un recuadro el día 01/06/2011 y que me filtre los datos de otra hoja, seleccionando "mayor o igual que 01/06/2011" y "menor o igual que 30/06/2011" (con sólo la fecha inicial ya tengo suficiente, pues sumándole 30 días ya me va bien.)
Escribo el código hasta ahora:
Dim Data As Integer (lo he provado con String, Variant y miles más...)
Dim Datados As Integer
Data = Worksheets("Hoja1").Range("A1").Value (no funciona, pero es este código, no?)
Datados = Worksheets("Hoja1").Range("A1").Value + 30
En A1 escribo la fecha y después de copiar datos, poner el autofiltro, etc., sigue con:
Selection.AutoFilter Field:=2, Criteria1:=">=" & Data, Operator:=xlAnd _
, Criteria2:="<=" & Datados
Teóricamente, como lo veo yo, tendría que funcionar! Pero me filtra entre el 00/01/1900 y 30/01/1900... :S!
¿Qué puedo hacer? ¿Puede ser el formato? Yo quiero poder escribirlo como "dd/mm/yyyy" (o d/m/yy, si es un solo número) y no liarme con "mm/dd/yyyy".
La idea es: Escribir en un recuadro el día 01/06/2011 y que me filtre los datos de otra hoja, seleccionando "mayor o igual que 01/06/2011" y "menor o igual que 30/06/2011" (con sólo la fecha inicial ya tengo suficiente, pues sumándole 30 días ya me va bien.)
Escribo el código hasta ahora:
Dim Data As Integer (lo he provado con String, Variant y miles más...)
Dim Datados As Integer
Data = Worksheets("Hoja1").Range("A1").Value (no funciona, pero es este código, no?)
Datados = Worksheets("Hoja1").Range("A1").Value + 30
En A1 escribo la fecha y después de copiar datos, poner el autofiltro, etc., sigue con:
Selection.AutoFilter Field:=2, Criteria1:=">=" & Data, Operator:=xlAnd _
, Criteria2:="<=" & Datados
Teóricamente, como lo veo yo, tendría que funcionar! Pero me filtra entre el 00/01/1900 y 30/01/1900... :S!
¿Qué puedo hacer? ¿Puede ser el formato? Yo quiero poder escribirlo como "dd/mm/yyyy" (o d/m/yy, si es un solo número) y no liarme con "mm/dd/yyyy".
1 respuesta
Respuesta de edwinhenao
1