Excel - Función al cambiar color de una celda

 
Vista:

Función al cambiar color de una celda

Publicado por Daniel Ulczyk (50 intervenciones) el 20/03/2007 23:22:00
Estimados:
Vengo del foro de Visual Basic, donde he publicado este post y no he conseguido una respuesta satisfactoria.

******************************************************************************************

He dado en la web, con el código que posteo al pie. El cual me es útil para sumar celdas con determinado color de fondo.
Ahora bien, si en el diseño de la hoja cambio el color de fondo de alguna celda, ya sumada; no veo en forma inmediata el cambio de resultado en la función =SUMCOLOR(A1;B1:B100)
Cómo se modifica esta función para tal solicitud.

Daniel Ulczyk

Function SumColor(rColor As Range, rSumRange As Range)

''''''''''''''''''''''''''''''''''''''
'Written by Ozgrid Business Applications
'www.ozgrid.com
'http://www.ozgrid.com/VBA/Sum.htm
'Sums cells based on a specified fill color.
'''''''''''''''''''''''''''''''''''''''
Dim rCell As Range
Dim iCol As Integer
Dim vResult

iCol = rColor.Interior.ColorIndex

For Each rCell In rSumRange
If rCell.Interior.ColorIndex = iCol Then
vResult = WorksheetFunction.Sum(rCell) + vResult
End If
Next rCell

SumColor = vResult
End Function

******************************************************************************************

Espero puedan darme una mano.
Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Función al cambiar color de una celda

Publicado por JuanC (792 intervenciones) el 21/03/2007 11:59:57
El problema es que al modificar sólo el color y no el valor de una celda,
no se recalcula la hoja ni se generan los eventos de cambio
Agregando Application.Volatile a la función podés hacer que te
tome los cambios del valor de cada celda sumada, pero para el cambio
de color tenés que presionar F9 (calcular hoja) o asignarle una macro
a un botón q calcule la hoja Application.ActiveSheet.Calculate
También podrías escribir el código en el evento DobleClic de la hoja
o algo más "loco", crear un Timer que actualice la hoja cada X tiempo...

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función al cambiar color de una celda

Publicado por Peluchon (11 intervenciones) el 21/03/2007 13:53:26
Para que lo veas automáticamente tienes que cambiar algún valor en la hoja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función al cambiar color de una celda

Publicado por Daniel Ulczyk (50 intervenciones) el 21/03/2007 14:08:55
Gracias a ambos por contestar.
Saludos!

Daniel Ulczyk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar