# SOLVED!!! Problema al filtrar por fecha del día de HOY



## josevaldesv (Jun 9, 2006)

Hola...
Estoy trabajando con base de datos.
Necesito filtrar una columna, y el resultado borrarlo.
Esta MACRO la tengo bien, PERO el problema es que no sé cómo filtrar por fecha de HOY!!!! para cada día correr la macro y se actualice automáticamente.

Sé cómo filtrar por fecha, ie: IS BIGGER THAN 06/09/2006
pero en la macro no sé cómo poner "=today()" cada vez.

Please help!


----------



## RalphA (Jun 9, 2006)

Que pasa con:
IF condicion > TODAY() ...


----------



## josevaldesv (Jun 9, 2006)

Cuando pongo eso en el filtro, busca como si fuera texto "today()" en vez de buscar la fecha...... por eso intentaba yo que la la macro VBA buscara una fecha como 06/08/2006, pero no logro hacer que esta fecha se actualice cada vez que corro la macro (en caso de que ya haya cambiado de día).

Ya encontré cómo hacer que funcione mi programa, pero por otro medio, y sigo teniendo duda en cómo filtrar por fecha a través de una macro.


----------



## RalphA (Jun 9, 2006)

Primer que nada, José, decir que encontraste la solución al problema que planteaste, no es muy cortés; explica qué fué lo que hiciste, con el resultado.

Segundo, ¿por qué no publicas aquí tu macro completo, señalando dónde es que tu macro encuentra el problema?  Estoy seguro de que obtendrás mejor ayuda, así.


----------



## Greg Truby (Jun 16, 2006)

Bueno, José, como indica mi amigo Rafa, se facilita ayudar a usted si usted incluye - por lo menos - las líneas de VBA con las cuales está teniendo problemas.  Y también puede ser una ayuda a persona leyendo la presente uno o dos años en el futuro (como resultado de una búsqueda) si usted incluya la solución que le servió.

Y favor disculparme, don Rafael, no deseo parecer descortés, pero su consejo fue erróneo.  *Today()* es una funcion de la hoja - se usa en fórmulas en las celdas.  Para VBA, se usa *DATE.*  Es decir que la sintaxis sería algo parecido a:
	
	
	
	
	
	



```
Selection.AutoFilter Field:=1, Criteria1:=">=" & Date
```
Atentamente,


----------



## RalphA (Jun 16, 2006)

Greg:

Gracias por señalarme mi error.  A mi siempre me gusta que me digan cuándo estoy equivocado, y no me ofendo en lo más mínimo.  Al contrario, prefiero que me lo digan, pues, si no, no aprendo.  Como tu sabes, yo no tengo mucho conocimiento en VBA, así es que es fácil que yo “meta la pata” en un caso de códico para Excel.


----------



## josevaldesv (Jun 20, 2006)

Ralph, Greg...

Gracias por su retroalimentación.

El problema inicial era precisamente que si me ponía a grabar la macro según los pasos que yo fuera haciendo en Excel, si ponía >=today(), en la macro se grababa:
     Selection.AutoFilter Field:=1, Criteria1:=">=06/20/06"
y lo último que Greg propuso funcionó perfectamente :D
Code: 
    Selection.AutoFilter Field:=1, Criteria1:=">=" & Date 

Por otro lado, me disculpo por mi descortesía de no decir cómo solucioné indirectamente mi problema.
Lo que originalmente quería yo era filtrar, con una macro, todas las fechas que fuera mayor a X fecha (en ese caso la fecha del día en que se abriera el archivo).
Como no pude lograr eso porque no sabía lo de "Date" vs "today()" en VBA, entonces agregué una columna extra donde puse la fórmula:
   B3 = if (A3 >= today(), "mayor o igual a hoy", "menor a hoy")
y en la macro ya puse en columna B
    Selection.AutoFilter Field:=1, Criteria1:= "mayor o igual a hoy"
y asunto arreglado.

Saludos...
José Valdés


----------



## RalphA (Jun 20, 2006)

Muy bien, Jose!  como dice el dicho, hay mas de una manera de matar a una pulga.


----------

