Excel2016如何将一列的数据按照颜色自动求和差

想做一个支出收入那种表格,怎么根据字体颜色或者表格颜色将一列的数据根据不同的颜色最后得出一个总值呢。比如我想将D2-D5的数据绿色为负红色为正最后在E10得到一个值,有没有这样的功能能,麻烦告知。

函数代码

Function SumColor(rColor As Range, rSumRange As Range)

Application.Volatile

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

这种方法应该能满足你的要求,但是需要一点VBA基础,你看看你能不能弄好,不会的话再追问,我给你发个带这个函数的表格,记住只要有VBA代码的表格,保存后缀名一定要是.xlsm的,不然代码会丢失

追问

代码倒是已经输入了,怎么选择哪个单元格是加还是减呢...

追答

是这样的吗?或者是在E10计算出差值?没太懂,我把代码修改了一下。现在只要是统计红色的单元格就会返回负值,绿色的返回正值。你看看能用不,不能用再追问我再改,我觉得单元格标颜色会好看一点,如果你要根据字体颜色统计的话也可以修改。

Function SumColor(rColor As Range, rSumRange As Range)
 
Application.Volatile
 
iCol = rColor.Interior.ColorIndex
 
   For Each rCell In rSumRange
   
    If rCell.Interior.ColorIndex = iCol Then
 
            vResult = WorksheetFunction.Sum(rCell) + vResult
 
    End If
 
   Next rCell
If iCol = 3 Then
    SumColor = 0 - vResult
Else
    SumColor = vResult
End If


End Function

温馨提示:答案为网友推荐,仅供参考
相似回答