前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA实战技巧27:根据颜色汇总单元格数据

VBA实战技巧27:根据颜色汇总单元格数据

作者头像
fanjy
发布2021-07-12 16:17:12
1.6K0
发布2021-07-12 16:17:12
举报
文章被收录于专栏:完美Excel

本文给出了一种根据单元格背景色汇总单元格数据的方法:使用VBA创建一个自定义函数来实现该目的。

我们希望这个函数工作的方式是,填充了颜色的单元格来表示额外的信息,例如代表诸如“目标已实现”或“目标未达到”等内容。单元格颜色可以表示任何字面意思。

示例数据如下图1所示。

图1

我们的函数名为SUMCOLOR,包含两个参数,语法为:

SUMCOLOR(MatchColor, SumRange)

其中:

  • 参数MatchColor,代表正在搜索的包含有颜色的单元格地址,示例中是单元格F4。
  • 参数SumRange,代表想要汇总的单元格区域(有颜色或没颜色)。示例中,单元格区域是A4:C11。(注:需要定义为绝对引用,以便每个搜索颜色的SumRange保持相同。)

这样,在单元格G4中,我们的公式应该像下面:

=SUMCOLOR(F4, A4:C11)

当按下回车键后,应该看到结果为40。

如果将公式向下复制到单元格G6,其结果应该如下图2所示。

图2

打开VBE,插入一个标准模块,输入下面的代码:

Function SUMCOLOR(matchColor As Range, SumRange As Range) As Double

Dim cell As Range

Dim myColor As Long

myColor =matchColor.Cells(1, 1).Interior.Color

For Each cell In SumRange

If cell.Interior.Color = myColor Then

SUMCOLOR= SUMCOLOR + cell.Value

End If

Next cell

End Function

现在,你可以像使用Excel内置的工作表函数一样使用SUMCOLOR函数了。

注:本文学习整理自www.xelplus.com,供有兴趣的朋友参考。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档