Ya que las celdas de Excel pueden tener un color de relleno, es posible que en alguna ocasión te veas en la necesidad de sumar el contenido de celdas de acuerdo a su color. Existen dos opciones para realizar este tipo de suma.
Ordenar por color y sumar
Desde la versión de Excel 2007 es posible ordenar las celdas de una columna por color. El primer paso es agregar un filtro a la tabla que contiene los datos y posteriormente seleccionar la opción Ordenar por color para elegir el color deseado.
Los datos de la tabla se organizarán de manera que las celdas que tienen el color seleccionado quedarán como las primeras filas.
De esta manera podría utilizar la función SUMA y su argumento sería el rango de celdas del color azul.
=SUMA(B2:B4)
Aunque este procedimiento resuelve mi problema de sumar por colores en Excel, podría crear una macro que me ayude a sumar rápidamente por colores sin la necesidad de agregar un filtro a la tabla ni de ordenarla por el color deseado.
Sumar por colores con VBA
Para lograr esta suma utilizando VBA debemos crear un nuevo módulo y una función como la siguiente:
Podemos utilizar esta función en la hoja de Excel de la siguiente manera:
Observa cómo el primer argumento de la función indica la celda que contiene el color que deseo sumar, que en este caso es el color azul de la celda B4, y el segundo argumento indica el rango que deseo considerar en la evaluación.
Para sumar un color diferente será suficiente con cambiar el primer argumento de la función indicando la celda que contiene el nuevo color. A continuación hago la suma de las celdas con el color verde:
Es muy importante mencionar que este método funciona solamente cuando hemos aplicado un color a la celda utilizando el comando “Color de relleno”. Un color aplicado a una celda por el formato condicional no es almacenado en la propiedad ColorIndex y por lo tanto nuestra función VBA no detectará esos colores. Descarga el archivo de trabajo que contiene el código recién creado y comienza a hacer pruebas en tu propio equipo.