用VBA统计涂色单元格的信息
用EXCEL制作一份工作日历,涂颜色的单元格表示休息日(共有4种颜色,深红一种,浅红2种,橙色一种),白色表示工作日,现在需要统计每个月休息日的数量,如何实现?
在EXCEL中按条件选择数据,通常使用“筛选”功能,而且在EXCEL 2010中已经具备了按颜色筛选的功能,但是这种筛选只能在同一列数据中进行,对于不同列的数据就无能为力了。考虑用VBA实现,单元格的颜色信息对应哪个属性,经过一番查找,我终于找到了,该属性位于Sheet1.Cells(1, 1).Interior.Color,有了这个属性,后面的工作就很简单了,遍历整个区域,比对颜色信息,将每个月的休息日记录在一个数组中。
源代码如下:
Sub workday()
Dim wk(1 To 12)
'记录工作日的数组
Dim w1
w1 = 0
For n = 1 To 12
wk(n) = 0
Next
For i = 4 To 10
For k = 2 To 54
With Sheet1.Cells(i, k).Interior
If .Color = 10066431 Or .Color = 255 Or .Color = 10198015 Or .Color = 26367 Then
'读取颜色值,并进行判断
m = Month(Sheet1.Cells(i, k).Value)
'表中的日历实际是日期格式,可以用Month()函数读取该日期属于哪一个月,计入对应的wk()数组中
wk(m) = wk(m) + 1
End If
End With
Next
Next
For t = 1 To 12
Debug.Print t, wk(t)
Next
'输出
End Sub
用VBA统计涂色单元格的信息相关推荐
- EXCEL小技巧:如何统计非空单元格
http://club.excelhome.net/thread-1187271-1-1.html 下面教大家如果用函数统计非空单元格的数量 首先我们来介绍几个统计函数: 1.COUNT(value1 ...
- VBA中获取合并单元格的真实地址
2019独角兽企业重金招聘Python工程师标准>>> 二少工作需要在VBA中获取合并单元格的地址范围, 于是有了此方法,作此记录 Private Sub Worksheet_Bef ...
- VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式
VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式 配置工作 开发 演示 注意点!!! 打赏 原创不容易,请不要抄袭! 配置工作 EXCEL 2010版本以上配置 文件-选项-自 ...
- VBA:Excel选中单元格后,相同值高亮显示
VBA:Excel选中单元格后,相同值高亮显示 场景 代码释义 Excel中实际执行效果 场景 在Excel数据核对中,要检查同样的数据在表格里是否重复出现,可以利用重复值筛选的方式,但是重复值筛选这 ...
- Excel·VBA自定义函数筛选单元格区域重复值
贴吧提问<哪位大神知道要怎么实现?>,Excel内置函数使用比较麻烦,VBA字典实现比较直观 自定义函数UNIQUE_IF筛选单元格区域中的值,可以选择返回其中的唯一值或重复值,并用分隔符 ...
- Excel VBA读取其它excel单元格内容详细案例
Excel VBA 读取其它excel单元格内容详细案例 通过一个按钮读取其它excel表格的内容的方法: 创建一个按钮 在excel表单插入按钮,进入design mode后双击按钮进入宏程序编辑 ...
- Excel 2010 VBA 入门 028 向单元格输入公式
目录 示例: 利用Formula属性给单元格输入公式 Formula属性和Value属性的联系与区别 利用FormulaR1C1属性给单元格输入公式 R1C1引用样式的规则 (1)"绝对引用 ...
- VBA开发:设置单元格数据有效性
当我们开发VBA软件时,经常需要限制用户在单元格中的输入内容.比如,我们设计一个成本分析的软件,可能需要将不同的费用归集到相应的成本分类,假如我们有固定资产.营销费用.原材料等类,但是如果不加限制,很 ...
- VBA如何清除excel单元格的内容和格式?
一.用VBA代码清除单元格里的内容 Range("a1:d10").ClearContents '清除A1:D10区域的公式/值 Range("a1:d10") ...
最新文章
- php linux权限,Linux权限位
- 模拟实现请求分页虚存页面替换算法_模拟卷二解答
- 日韩决裂,半导体谁最受伤?
- 怎么在eclipse里调试WebDriver的源代码
- 嵌入式linux svn,Linux下配置subversion使其支持svn+ssh方式访问
- Android的debug.keystore拒绝访问导致的生成异常及解决方案
- 概括ADO.NET数据库连接的所有形式(基础)
- Java面向对象---重写(Override)与重载(Overload)
- Android快速开发框架XUtils
- getvod.php_音视频播放_PHP SDK_服务端SDK_视频点播 - 阿里云
- spring笔记4-事务管理
- JAVA泛型详解2 转载
- 1.SOA架构:服务和微服务分析及设计--- 理解面向服务
- python的遍历循环语句for、不能遍历的数据类型是_14、python循环遍历 for 语法
- jest (让人愉悦的测试框架)
- 个人网站首页设计模板
- CKeditor配置
- [Luogu P3704] [BZOJ 4816] [SDOI2017]数字表格
- 学神乔明达和他堪称神迹的学习履历
- 储物点的距离【前缀和】