Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El color de relleno de una celda es ampliamente utilizado por los usuarios de Excel
ya que, al resaltarla con un color diferente, podremos identificarla fácilmente en
pantalla.
La mayoría de los usuarios buscan de inmediato alguna función de Excel que les
ayude a contar por color, pero pronto se encuentran con que no existe una función
que haga dicha tarea.
Construir una nueva función no es cosa de novatos, pero tampoco es una tarea de
altísima complejidad, así que en esta ocasión te mostraré los pasos necesarios para
que puedas crear esa función que cuente las celdas por color.
Una vez que se abre la ventana del Editor de Visual Basic, deberás hacer clic en en
el menú Insertar > Módulo.
La siguiente imagen muestra las celdas del rango A1:A10 con diferentes colores de
relleno y la celda D1 que tiene el color azul el cual nos interesa contar.
Para contar las celdas de color azul en el rango A1:A10, debo utilizar la función
CONTARCOLOR de la siguiente manera:
=CONTARCOLOR(D1, A1:A10)
=CONTARCOLOR(A2, A1:A10)
En este caso, la celda A2 tiene el color azul que queremos contar, así que podemos
indicar dicha celda como el primer argumento de la función y el resultado será el
mismo.
El uso de esta función es muy simple y solo deberás asegurarte de indicar en su
primer argumento una celda que tenga el color que te interesa contar. Recuerda
que Excel tiene una gama de millones de colores y por lo tanto debes tener mucho
cuidado ya que podrías ver en pantalla colores muy parecidos cuando en realidad
son distintos.
Ambos argumentos son del tipo Range ya que el primer argumentos tendrá una
referencia a la celda que tiene el color que vamos a contar y el segundo argumento
será la referencia al rango que será evaluado.
La siguiente línea de código es una instrucción que se utiliza para marcar una
función como volátil, lo cual quiere decir que la función será recalculada cada vez
que se efectúa un cálculo en la hoja.
Application.Volatile
Utilizamos el bucle For Each para recorrer cada una de las celdas del rango y
puedes notar que la instrucción hace referencia a la variable rango que es el
segundo argumento de la función.
Si los valores de las propiedades son iguales, quiere decir que los colores son
iguales y por lo tanto aumentamos el valor de CONTARCOLOR en uno.
CONTARCOLOR = CONTARCOLOR + 1
De esa manera recorremos todas las celdas del rango y tendremos el resultado final
en CONTARCOLOR cuyo valor es devuelto automáticamente por la función por
tener el mismo nombre.
La propiedad Interior.color
Antes de terminar la explicación del código VBA debo decir que la propiedad
Interior.color está disponible a partir de Excel 2007, así que esta macro no
funcionará para versiones anteriores.
A partir de Excel 2007 tenemos millones de colores disponibles para elegir el color
de relleno de una celda, pero eso no era posible anteriormente. En Excel 2003 y
versiones previas solo era posible elegir entre una paleta de 56 colores y dicho color
era almacenado en la propiedad Interior.ColorIndex.
Espero que esta función sea de mucha utilidad para esos casos en los que necesites
contar las celdas por color en Excel.