如何获得一个基于单元格颜色的UDF在Excel中自动更新

我发现一个UDF根据它们的颜色来计算单元格的值。 它在我第一次使用它的时候非常完美。 但是,现在当我更改单元格的颜色(颜色指示单元格是否已经计划或执行)时,在现有的工作簿中,它不会自动更新。 见下面的代码:

Function SumByColor(CellColor As Range, rRange As Range) Application.Volatile True Dim cSum As Long Dim ColIndex As Integer Dim cl As Variant ColIndex = CellColor.Interior.ColorIndex For Each cl In rRange If cl.Interior.ColorIndex = ColIndex Then cSum = WorksheetFunction.Sum(cl, cSum) End If Next cl SumByColor = cSum End Function 

我曾尝试Application.Volitale ,但没有运气。 F9工程来更新容纳该function的单元格。 但是,如果我忙,自动更新会更好,或者离开我的WS。 有任何想法吗?

您可以创build一个工作表事件过程,该过程在工作表中识别到更改时将运行。

 Private Sub Worksheet_Change(ByVal Target as Range) 'Call function with appropriate variables End Sub