"Filtros dinámicos" cómo programarlos?

11/05/2005 - 14:11 por Raimon | Informe spam
Hola al grupo
En su día prgramé un "filtro dinámico" con ayuda de este grupo, mediante
la orden en Visual Basic de:

RangoFiltrado .AutoFilter.Range.Address.Range(RangoFiltrado).AutoFilter Field:=1,
Criteria1:=filtro

La verdad es que me resulta muy útil, pero hoy tengo la necesidad de
ampliarla.
1.- Cómo podría hacer para filtrar por más de un campo?
2.- Cómo puedo verificar al actualizar que sólo se filtre por el campo/s
que yo estoy programando y se desactive cualquier filtro por otro campo que
pueda haber incluído el usuario de la hoja de excel?

Muchas gracias de antemano
 

Leer las respuestas

#1 Fernando Arroyo
11/05/2005 - 15:45 | Informe spam
"Raimon" escribió en el mensaje news:d5ssop$qtc$
Hola al grupo
En su día prgramé un "filtro dinámico" con ayuda de este grupo, mediante
la orden en Visual Basic de:

RangoFiltrado > .AutoFilter.Range.Address.Range(RangoFiltrado).AutoFilter Field:=1,
Criteria1:=filtro

La verdad es que me resulta muy útil, pero hoy tengo la necesidad de
ampliarla.
1.- Cómo podría hacer para filtrar por más de un campo?
2.- Cómo puedo verificar al actualizar que sólo se filtre por el campo/s
que yo estoy programando y se desactive cualquier filtro por otro campo que
pueda haber incluído el usuario de la hoja de excel?

Muchas gracias de antemano





Por ejemplo, para quitar los posibles autofiltros activos y filtrar por las dos primeras columnas de Hoja1:

Sub Prueba()
With [Hoja1!A1].CurrentRegion
If .Parent.AutoFilterMode Then .AutoFilter 'Para quitar los filtros, si los hay.
.AutoFilter field:=1, Criteria1:="a" 'Criterio para la 1ª columna
.AutoFilter field:=2, Criteria1:="1" 'Criterio para la 2ª columna
End With
End Sub

Un saludo.


Fernando Arroyo
MS MVP - Excel

Preguntas similares