Algunas veces necesitamos sumar un rango en Excel, condicionada al color de la celda donde se encuentran dichos valores

Desafortunadamente Microsoft Excel no cuenta con una fórmula o una función que realice esta tarea, por lo que tendremos que construir una función personalizada a través de Visual Basic, realizando lo siguiente:

1. Abrimos el Programador de Visual Basic (se puede llevar a ello presionando las teclas Alt+F11)

2. Hacemos clic en el menú Insertar y posteriormente en Módulo [Esto para office 2007]. En Office 2003 o versiones anteriores, vamos a “Herramientas”, “Macros”, “Editor Visual Basic” e insertamos un nuevo modulo.

3. Una vez hayamos abierto nuestro módulo en el editor de Visual Basic, pegaremos el siguiente código:

Function SumarsiColor(Rango, Color)
Dim Col As Long
Dim Celda As Range
Dim Suma As Double
Col = Color.Interior.ColorIndex
For Each Celda In Rango
If Celda.Interior.ColorIndex = Col Then
Suma = Suma + Celda.Value
End If
Next
SumarsiColor = Suma
End Function

4. Guardamos el módulo VBA, volvemos a Microsoft Excel y escribiremos la siguiente fórmula:

=Sumarsicolor(A1:A10,A15)

En esta fórmula estamos suponiendo que los valores están en la columna A desde la fila 1 hasta la 10, por eso el rango A1:A10 y luego la celda A15, es la celda que contiene el color de referencia o que queremos sumar.

Por ejemplo, si que queremos sumar la celdas de color Amarillo del rango A1:A10, entonces la celda A15 la colocamos de color Amarillo.

Si cambiarmos el color de cualquiera de las celdas que se encuentran en el rango de suma, debemos actualizar la fórmula presionado la tecla F2 en la celda que contiene dicha fórmula, luego la tecla Enter. vez se cambie el color de la celda referencia, la celda donde se encuentra la formula, esto debido a que Microsoft Excel reconoce cambio de contenido de las celdas, no así el cambio de formato de celdas.

Para que la fórmula funcione correctamente, las macros deben estar habilitadas. Microsoft Excel se encargará de informarle mediante una advertencia de seguridad que las macros se han deshabilitado y le ofrecerá la opción para habilitarlas.