Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Uso de colores para autofiltro en VBA

| Sin comentarios

El uso de colores para un autofiltro ayuda a distinguir entre los filtros activos y los que se encuentran sin usar. Es muy útil ya que usualmente no se sabe, si es que tienes una tabla, que filtro está siendo usado o si es que un filtro está siendo usado puesto  que las celdas la mayoría de veces poseen el mismo color. Ayuda especialmente si se quiere usar varios filtros, y de esta manera se sabrá que filtros se usó y cuales faltan usar.

Es importante destacar que para elegir el color que se usará, este es representado por números ya definidos por Excel.

Para esto, es necesario definir el filtro en el VBA como tal, para esto al inicio del macro se colocará

Dim filtro As Filter .

Como ya se mencionó anteriormente, solo se cambiará el color de los filtros que se encuentren activos. Estos, cuando están activos, tienen una denominación la cual es  filtro. On

Es por eso que nuestro macro diferenciará los filtros mediante la función If, siendo la condición que si el filtro se encuentra como filtro. On entonces se cambiará el color, en caso contrario no se cambiará de color. Además, para que esta función afecte a todos los datos de la tabla, este If se encontrará dentro de un For, el cual se repetirá hasta que rodas las columnas de la tabla que se tiene sean analizadas.

Un ejemplo de esta función será cuando colocamos una serie de datos y les aplicamos filtros. En este caso se le aplicará un filtro tipo texto puesto que los datos que se colocaron en la hoja fueron textos.

tarea 4.1

Después de colocar los datos en el Excel, se presiona el botón “Ver Filtro usado” y se verán los resultados directamente en la pantalla, en donde el color de la celda del filtro cambiará a un morado oscuro, como se observa en la siguiente imagen.

tarea 4.2

Descargar ejemplo

Elaborado por: Fiorella del Carmen

Deja una respuesta

Los campos requeridos estan marcados con *.