Problemas con criterio de busqueda en un filtro

Osasa54

New Member
Joined
Sep 10, 2002
Messages
31
Hola, tengo una macro en la que se hace un filtrado de una columna con un criterio >= que una fecha. En VBA me genera el siguiente código:

Selection.AutoFilter Field:=2, Criteria1:=">=18-may-2003", Operator:= _
xlAnd

La cuestión es que quiero meter en una variable el citerio de busqueda de modo que me quedara así:

dim fecha as date
fecha = Sheets("datos").Cells(12, 14).Value

Selection.AutoFilter Field:=2, Criteria1:=fecha, Operator:= _
xlAnd


Pero el problema es que no me deja añadir >= a esa variable, con lo que en vez de filtarme >= 18-may-2003 me filtra solamente las iguales a esta fecha.

Es posible de algún modo añadirle a esta varible fecha el >=?

Muchas gracias.

Oscar
 

Excel Facts

When they said...
When they said you are going to "Excel at life", they meant you "will be doing Excel your whole life".
Bueno, en principio me funciona en cuanto a que ya no me da error, pero al ejecutar la macro no me hace caso, es decir después de ejecutarla me filtra de tal modo que no encuentra resultados. Entonces voy a la hoja y elijo personalizar el filtro (para ver que valores a metido), y encuentro que las fechas que ha introducido son las correctas, pero es como si no existieran celdas que contuvieran esas fechas. Lo curiososo es que si al meterme en personalizar el filtro, cuando veo que ha metido las fechas correctas, y sin tocar nada le doy directamente a aceptar, esta vez si saca los resultados.
¿curioso no?, a esto te referias con que las fechas a veces dan problemas?
 
Upvote 0
Si Oscar, a eso es a lo que me refiero. Excel todavía tiene muchos problemas para la gente que está por fuera de Estados Unidos, "International Issues" como se le conoce a este "detallito".

Pero bueno, hay una solución, afortunadamente !. En el siguiente macro, puse la fecha de mi criterio en D2, y ejecuté paso a paso (Con F8) el macro, para ver como funcionaba cada uno de los Autofiltros.

<font face=Courier New>
<SPAN style="color:#00007F">Sub</SPAN> Test()
    <SPAN style="color:#00007F">Dim</SPAN> fecha <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Date</SPAN>
    
    fecha = Range("D2").Value
    
    <SPAN style="color:#007F00">'Apagar los filtros</SPAN>
    
    <SPAN style="color:#007F00">'Con fecha normal</SPAN>
    Selection.AutoFilter 2, ">=" & fecha
    Selection.AutoFilter
    
    <SPAN style="color:#007F00">'Con número de fecha</SPAN>
    Selection.AutoFilter 2, ">=" & <SPAN style="color:#00007F">CLng</SPAN>(fecha)
    Selection.AutoFilter
    
    <SPAN style="color:#007F00">'Con formato de fecha de US</SPAN>
    Selection.AutoFilter 2, ">=" & Format(fecha, "mm/dd/yyyy")
    Selection.AutoFilter
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>

El primero no funciona, por lo menos en mi sistema (Y creo que en el tuyo tampoco) porque la fecha aparece con formato dia-mes-año, y el Autofiltro, en VBA, utiliza fechas en formato US, es decir, mes-día-año. Los dos siguientes si funcionan, convertir la fecha al número que representa O pasar la fecha en formato US.

Ojalá funcione esto...
 
Upvote 0

Forum statistics

Threads
1,215,743
Messages
6,126,603
Members
449,321
Latest member
syzer

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top