在本文中,我们将创建一个自定义函数来计算具有已定义颜色的范围内的单元格中的数字总和。

对于此示例,样本数据由销售团队数据组成。销售团队数据包含与已售商品数量有关的详细信息。它包含与产品相关的信息,有灰色,红色和绿色三种颜色可供选择。我们想找到按产品颜色出售的商品总和。

ArrowRaw

为了按颜色计算总和,我们创建了自定义函数“ SumByColor”。该功能以两个范围参数作为输入。第一个范围参数定义单元格的内部颜色,第二个范围参数定义样本范围。

ArrowOutput

代码说明

之所以使用Application.Volatile,是因为它将在工作簿中每次更改单元格值时重新计算。

DefinedColorRange.Interior.ColorIndex上面的代码用于获取定义范围的内部颜色。

请遵循以下代码

Option Explicit

Function SumByColor(DefinedColorRange As Range, SumRange As Range)

Application.Volatile

'Declaring variables

Dim ICol As Integer

Dim GCell As Range

'Getting the interior color of the cell

ICol = DefinedColorRange.Interior.ColorIndex

'Looping through the defined range

For Each GCell In SumRange



If ICol = GCell.Interior.ColorIndex Then

'Getting the sum of matching colored cell

SumByColor = SumByColor + GCell.Value

End If

Next GCell

End Function

如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。

我们很希望收到您的来信,请让我们知道我们如何才能改善我们的工作并使您的工作更好。写信给我们[email protected]