阅: 1396 | 回: 11

-
积分:58
-
财富值:3
-
身份:普通用户
本来想给你写个自定义函数,但是单元格的DisplayFormat属性在自定义函数中不能引用(搞了半天才在官方文档中发现)。给你写了个子程序,根据你的实际可以调整一两个参数就可以批量运行了。
Public Sub st() ' 利用单元格显示的颜色与红色进行比较,统计区域内红色单元格个数。 Dim a As Range, result As Long, rg As Range Dim i As Integer For i = 2 To 33 ' 对第2至4行进行循环计算 Set rg = Range("A" & i & ":" & "F" & i) ' 设定需要统计的区域 result = 0 For Each a In rg ' 对统计区域中每个单元格显示的颜色与红色进行比较,相同计数result值加1。 If a.DisplayFormat.Font.Color = RGB(255, 0, 0) Then result = result + 1 End If Next a Range("G" & i) = result '将统计结果赋值到结果存储区域 Next i End Sub
我的个性签名

-
积分:5
-
财富值:1
-
身份:普通用户
回复:11楼
1、首先我对你认真负责的回答也是表示肯定的,所以我将你5楼的回复选择为最佳答案。
2、其次也很感谢你在宏里为我做了注释,我也看懂了这个注释,但是我重新应用了之后,它确实是出现了错误。
3、因为这个宏是你做的,所以你肯定更清楚我上面说的出现了这种错误的原因到底是为什么?
4、我在一开始发布帖子的时候就上传了附件,宏是你帮我做的你也更了解,我想你都有就没有再上传附件,所以我没有空口白牙。
5、我虽然看懂了你的注释知道了你注释的地方怎么调,但是调整后确实是出现了问题,我对VBA不了解不会修改,但是我能发现问题。
6、我在7楼回复的问题我想你肯定是看懂,可能你自信你的宏没有问题是我不懂操作的造成的。
7、再次对您能回复我的帖子标识感谢。
我的个性签名