Está en la página 1de 1

Function SUMARCOLOR(CeldaColor As String, RangoSuma As String) As Double Dim oRango As Object oRango = ThisComponent.CurrentController.ActiveSheet oCelda = oRango.GetCellRangeByName(CeldaColor).CellBackColor oRango = oRango.

GetCellRangeByName(RangoSuma) For c = 0 to oRango.Columns.Count - 1 For f = 0 to oRango.Rows.Count - 1 If oRango.GetCellByPosition(c,f).CellBackColor = oCelda Then oCuenta = oRango.GetCellByPosition(c,f).Value + oCuenta End If Next Next SUMARCOLOR = oCuenta End Function Mira por favor el siguiente archivo y nota como estan introducidos los rangos en la formula funcion, asi es, estan en texto entrecomillado. Nota: Ignora o acepta el error que te da al abrir el archivo, actualiza las sumas pulsando Control-ShiftF9 (recalculo) Para evitar el mensaje de error, que cuando es una sola la celda que produce el error es aceptable, pero cuando son muchas se vuelve bastante molesto, encontr lo siguiente: Despus de la declaracin de funcin, poner: on error goto exitErr: y antes de End Function, poner: exitErr: ' return "" Habr que recalcular con Alt-Shift-F9 de todos modos, pero a mi me funcion

También podría gustarte