Macro filtrar por fecha

Hola! Le he enviado la pregunta a un experto, pero no me contesta y no sé si está inactivo... Te cuento!
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".
Muchas gracias de antemano. :)

1 Respuesta

Respuesta
1
Las fechas siempre son un lio en excel, una opción es convertirlas a numero, prueba este codifo y me cuentas, haa y algo 01/06/2011 + 30 = 01/07/2011 :P.
Sub Macro()
    data = CDbl(Worksheets("Hoja1").Range("A1").Value)
    datados = data + 30
    StrData = ">=" & CStr(data)
    StrDatados = ">=" & CStr(datados)
       Selection.AutoFilter Field:=1, Criteria1:=StrData, Operator:=xlAnd _
        , Criteria2:=StrDatados
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas