Filtro avanzado en excel para macro

Que tal necesito apoyo el por que no me esta funcionando, una macro que se ejecuta con un botón, explico el proceso.

Existe un formulario que va solicitar fechas de inicio y fin que quisieras filtrar

Al darle click al botón lo que debería de hacer el formulario es buscar ese rango de valores e insertarlos en un rango de celdas predeterminado unicamente aquellos valores que estamos solicitando.

Anexo el código que lleva el botón para su ejecución.

Private Sub CommandButton1_Click()
Sheets("Hoja25").Select
Range("K4") = ">=" & UserForm2.TextBox1.Value
Range("L4") = "<=" & UserForm2.TextBox2.Value
Sheets("Hoja25").Range("A1:D1000000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Hoja25").Range( _
"K3:L4"), CopyToRange:=Sheets("Hoja25").Range("N1:Q1"), Unique:=False

Si lo hago por el método tradicional de excel mediante la opción avanzada y prácticamente los mismos rangos y la misma función, si lo hace, pero al aplicarlo a la macro y ejecutarla no hace nada, pareciera como si esperara un "Ok".

También lo hice mediante la opción de autofiltro por macro con la opción "entre", y unicamente asignaba los datos de los campos del formulario en la opción pero no ejecutaba, necesitaba meterme nuevamente yo al filtro y darle "ok".

Esperemos que me puedan ayudar.

1 Respuesta

Respuesta

Verdaderamente aplicar filtros (avanzados o autofiltro 'normal') con programación es un quebradero de cabeza... especialmente cuando queremos trabajar con fechas o con decimales, ya que internamente VBA trabaja con formatos 'angolsajones' (mm/dd/yyyy o 1,000,99) y la hoja de cálculo en formato 'estándar'... además de otras incompatibilidades.

En tu caso, que indicas quieres trabajar con fechas la solución suele estar en definir las variables como Tipo Long (los datos que recuperas del UserForm2).

Puedes ver el tratamiento (muy similar al tuyo) en este link:

http://excelforo.blogspot.com.es/2015/01/vba-copiar-datos-filtradosvisibles-de.html 

y otros ejemplos de filtro con VBA

http://excelforo.blogspot.com.es/2016/03/vba-macro-de-un-filtro-avanzado.html 

http://excelforo.blogspot.com.es/2013/05/vba-los-decimales-y-los-filtros.html 

Espero te ayuden

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas