vba 字体颜色_逆天啦!Excel居然能按颜色统计|Excel120

数据场景

01c84f892358a1d8fbe278679964c252.png

大家好,之前很多小伙伴提问如何按照单元格填充色或者字体颜色对数据进行统计(求和或计数),今天就跟大家分享一个自定义函数GetColor,按颜色求和计数再也不是梦。

那么如何使用这个函数呢?

粘贴代码

将下面的代码粘贴到Excel VBE编辑器,具体操作参见动图演示: 38bf7547fdedcadfa90e03fc1f9e453e.gif ① ALT+F11快捷键进入VBE编辑器 ② 插入模块 ③ 将代码粘贴到模块中 代码如下: 本文不对代码做具体讲解,详情参见 网易云课堂《揭秘Excel真相》课程VBA篇章。

Function GetColor(参照区域 As Range, 统计范围 As Range, Optional SumOrCount As Boolean =False, Optional BackOrFont As Boolean = False)Dim rng As Range, Colors As Double, Total As Double, cnt As Long    '声明变量
    Colors = IIf(BackOrFont, 参照区域(1).Interior.Color, 参照区域(1).Font.Color)    '第四参数为 TRUE,将背景色值赋给Colors,否则将字体颜色值赋给ColorsFor Each rng In 统计范围    '循环统计范围里的每一个单元格If BackOrFont Then    '如果BackOrFont参数的值为True    If rng.Interior.Color = Colors Then Total = Total + IIf(IsNumeric(rng), rng,0):cnt = cnt + 1    '如果Rng单元格的背景色与参照区域颜色相同,那么累加数值与计数器  Else            If rng.Font.Color = Colors Then Total = Total + IIf(IsNumeric(rng), rng,0):cnt=cnt + 1     '如果Rng的字体颜色与参照颜色相同则累加数值及计数器            End IfNext
    GetColor = IIf(SumOrCount, Total, cnt)'如果参数SumOrCount的值为True,那么将函数将返回Total的值,否则将将返回cnt的值End Function

》》显示不全请在代码区左右滑动查看全部代码 保存工作簿时记得保存成启动宏的工作簿( .xlsm),下次代码还可以继续使用。 3e80f52d20d06685f4ceb066ae2618ab.png

调用函数

函数的结构和用法参见下图: ee73d8b9acf7c9cacff51272082a5e37.png 该函数共4个参数: 参数1 【参照区域】: 指具有底纹或字体颜色的一个单元格,如果选择单元格区域,以该区域左上角的单元格为准 参数2【统计范围】: 需要进行求和或计数的单元格区域,当区域中包含文本时,求和会忽略文本,计数则不会 参数3【统计方式】: 是可选参数,如果省略则默认为FALSE,TRUE或者1代表求和,FALSE或者0代表计数 参数4【统计类型】: 是可选参数,如果省略则默认为FALSE,TRUE或者1代表按背景颜色统计,FALSE或者0代表按字体颜色统计 该函数有4个功能: ① 对相同填充色的单元格区域的数值求和(忽略文本) f1bc44dcd0d7f91be21d1c7421297cec.png 公式: =GetColor(H2,$A$2:$F$20,TRUE,TRUE) 第3参数和第4参数都为TRUE,表示按填充色求和。 ② 对相同填充色的单元格区域计数 9fd34bbe88a65c06845b3cae46c2532c.png 公式: =GetColor(H2,$A$2:$F$20,,TRUE) 这里省略了第3参数,第4参数为TRUE,表示按填充色计数 ③ 对相同字体颜色的单元格区域的数值求和(忽略文本) 79d890821d697ceafdf7d5b1e5efb2d1.png 公式: =GetColor(H5,$A$2:$F$20,TRUE) 这里省略了第4参数,第3参数为TRUE,表示按字体颜色求和。 ④ 对相同字体颜色的单元格区域计数 188c5eb27e1b5402385720423c1db71a.png 公式: =GetColor(H5,$A$2:$F$20) 这里省略了第3参数和第4参数,默认按字体颜色计数。 今天的分享就到这里,你都学会了?光看不练假把式,不断的练习才能促进知识的内化, 我们下期再见!

更多Excel技能,欢迎您加入布衣公子网易云课堂《揭秘Excel真相》课程。

PPT课程地址:http://t.cn/Rm4oVdo

Excel课程地址:http://t.cn/Rm4oCLR

关联阅读:

别不信,学会这几个函数能帮你省下一天的时间!|Excel119

结构大反转简直逆天,PQ超乎你的想象|Excel118

对筛选结果按条件计数,这招很冷但管用!|Excel117

仪表板可视化速成大法,3分钟就能搞定!|Excel116

还在用Excel做数据分析报告吗?PowerBI已经被众星捧月|Excel115

朋友请我帮忙汇总客户评价,刷新我只用了1秒 |Excel114

别人用4张图才能搞定的事儿我1张图就解决了!|Excel113

还记得各国GDP排名时时变化的动态图表吗?究竟是如何做出来的呢?|Excel112

Power Map 精确定位怎能少得了经纬度!|Excel111

区县级地图自定义大法,不看准后悔!|Excel110

地图可视化,一个鼠标就够了!|Excel109

PowerMap让地图可视化变得如此简单!|Excel108

……

更多技能分享请您后台回复「目录」查看

福利关键词:70、PNG、地图、姜饼人、图标、样机、手、试看、试听、封面、封底、排版、图表、目录页、过渡页、标题栏,后台回复有惊喜哦!

布衣公子《揭秘Excel真相》课程原价299

前5000人惠顾仅需199元

单击了解>>《揭秘EXCEL真相》课程详情

b34d8557d49b2cb7ae3613ba92926f6f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值