自动刷新Excel VBA

时间:2014-09-18 13:31:42

标签: excel vba excel-vba

我有一个模块用于检查单元格包含的颜色。如果电池是红色,蓝色或绿色。但是当我使用函数时:=SumBycolor(cell with colorx;From cell:toCell)它不会自动更新。我必须打开单元格并按Enter键进行任何更新 任何人都有一些关于如何添加自动更新的好建议?

Function SumByColor(CellColor As Range, rRange As Range)
    Dim cSum As Long
    Dim ColIndex As Integer

    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
    ActiveWorkbook.RefreshAll

End Function

1 个答案:

答案 0 :(得分:0)

如果您的数据位于sheet1中,则转到该工作表的事件并选择Worksheet_SelectionChange并写入Sheet1.Calculate。这将在更改选择时计算功能。因此您无需打开单元格并按Enter键进行任何更新。更新将随着选择的变化而发生。

将以下代码粘贴到保存公式的表单代码中

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

片("数据&#34)。计算
结束子