0
我想检查diff单元的另一个条件以及活动单元格颜色。我在IF中添加如下,但是这给了#name?错误。有人可以帮忙吗?SumByColor与另一个条件
Function SumByColor(CellColor As Range, rRange As Range)
Dim cSum As Long
Dim ColIndex As Integer
Dim ross As Long
ColIndex = CellColor.Interior.ColorIndex
For Each cl In rRange
ross = ActiveCell.Row
If cl.Interior.ColorIndex = ColIndex And Cells(ross, "C").Value = "" Then
cSum = WorksheetFunction.Sum(cl, cSum)
End If
Next cl
SumByColor = cSum
End Function
嗨@ZygD,非常感谢。问题是由于答案中的point3造成的。它不会再犯错误了。 – 2015-02-08 17:13:07
我需要另一个帮助。我能够使代码工作。但是,当我改变单元格的颜色时,函数不会重新计算总和......只要cellcolor发生变化,就可以自动执行它。现在只有当我使用公式转到单元格并按下'F2'时才起作用。 – 2015-02-08 18:25:19
@Amitabha快乐它帮助。不幸的是,VBA没有这样的事件来捕捉格式变化。如果您的工作簿没有充分计算,我可能会建议每次选择更改时强制重新计算。这不完全是你想要的,但我没有其他简单的答案。将以下3行插入“Sheet”模块(这次不是“Module1”)。 'Private Sub Worksheet_SelectionChange(ByVal Target As Range)' 'Application.CalculateFull' 'End Sub' – ZygD 2015-02-08 18:59:29