按照颜色求和本文讲述如何用VBA针对Excel选区按照颜色求和。
下面的代码针对选区内所有单元格按照给定的颜色(ColorIndex=1)求和。
当然,大家也可以把下面的过程改成Excel函数,然后直接在单元格当作普通的Excel函数使用。
'
' 按颜色求和
'
Sub sumByColor()
Dim rng As Range
colorIndexToSum = 1
sumTotal = 0
For Each rng In Selection ' 遍历选区单元格
' 单元格颜色为要计算的颜色,同时单元格为数字的时候,累加
If rng.Interior.ColorIndex = colorIndexToSum And IsNumeric(rng.value) Then
sumTotal = sumTotal rng.value
End If
Next
' output
MsgBox "颜色区域累加结果:" & sumTotal
End Sub
大家可能也发现,要统计的颜色ColorIndex无法一眼看出来。可以通过以下函数来计算给定单元格的颜色ColorIndex。
'
' 获取单元格颜色ColorIndex。
' 可以直接在Excel单元格输入该公式,即:=getColorIndex(A1),把A1改成自己需要统计的单元格。
'
Function getColorIndex(rng As Range) As Byte
getColorIndex = rng.Interior.ColorIndex
End Function
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved