La función de AutoFilter (auto filtros) en Excel es muy útil. Es lo más rápido cuando se quiere hacer un filtro y análisis rápido. El único problema es que la funcionalidad del AutoFilter estándar aplica unas flechas hacia abajo a cada columna en el conjunto de datos elegido, como se ve en la siguiente imagen.
(Para mayor visualización de la imagen, hacer click en la misma)
Esto está muy bien en la mayoría de las situaciones, pero ¿qué pasa si quieres evitar que tus usuarios utilicen las flechas de auto filtro en algunas columnas de tus datos? Para eso existe una macro que explicaremos a continuación:
En VBA podemos usar el objeto AutoFilter para poner auto filtros en un rango específico. Por tanto usamos:
Range(Cells(3, 2), Cells(3, 8)).Autofilter
Después podemos manipular cada columna con filtros. Por ejemplo, podemos hacer alguna acción en el número de columna que queramos con:
Range(Cells(3, 2), Cells(3, 8)).Autofilter:x
Donde “x” es el número de columna que queremos afectar.
Ahora para volver invisible un filtro usamos el parámetro “VisibleDropDown” donde “False” hará la flecha del filtro invisible y “True” lo hará visible. Por ejemplo:
Range(Cells(3, 2), Cells(3, 8)).Autofilter:x, VisibleDropDown:=False
Esta acción hará invisible la flecha de la columna “x”
Ahora que ya vimos todos los pasos haremos un ejemplo completo de la macro.
Ejemplo:
Cuando hay una matriz de notas con los nombres de los estudiantes y las notas correspondientes a cada Práctica Calificada, Examen parcial y final. Se quitan los filtros de todos menos de los nombres y la nota final para poder analizar si han aprobado o no el curso, quienes tienen las mejores notas, etc.
Entonces usamos la siquiente macro:
(Para mayor visualización de la imagen, hacer click en la misma)
Ejemplo-Ocultar algunos filtros (macro)
María Alejandra Ceballos Valencia