ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 20319|回复: 43

[求助]根据条件格式的颜色统计单元格个数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-4-14 17:25 | 显示全部楼层 |阅读模式

请教各位高手,我想统计A1:G7里面符合条件格式而显示土色的单元格的个数,为什么我写的程序不能计算?

ZFE9Lfe7.rar (8.38 KB, 下载次数: 219)


TA的精华主题

TA的得分主题

发表于 2008-4-14 18:03 | 显示全部楼层

why not use 符合条件 in the macro, e.g

If T>5T then
        k = k + 1
     End If

TA的精华主题

TA的得分主题

发表于 2008-4-14 21:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

在单元格使用了条件格式之后,好像用代码是不能返回其背景颜色的,我也想知道有什么方法可以用代码返回由条件格式得出的背景颜色,

TA的精华主题

TA的得分主题

发表于 2008-4-16 01:01 | 显示全部楼层

既然颜色由条件格式而来,为什么不从条件格式公式本身考虑?

=SUMPRODUCT(N(A1:G7>5))

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-16 15:42 | 显示全部楼层
QUOTE:
以下是引用liangzh在2008-4-16 1:01:40的发言:

既然颜色由条件格式而来,为什么不从条件格式公式本身考虑?

=SUMPRODUCT(N(A1:G7>5))

谢谢提醒,不过你可能搞错了,如果是按这个思路,我想我不需要发附件求助的。我发的附件只是简单的举例,目的是想学习VBA中怎样用代码获取条件格式设置的颜色值,并不是简单的求和!

感谢回复!

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-17 02:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
帖子沉的好快,顶一下,期待高手解答!

TA的精华主题

TA的得分主题

发表于 2008-4-17 02:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

Sub TJ()
 Dim T As Range

 Set Myrange = Range("A1:G7")
 For Each T In Myrange
     If T.Value > 5 Then
        k = k + 1
     End If
 Next
 Range("H1") = k
End Sub

TA的精华主题

TA的得分主题

发表于 2008-4-17 11:06 | 显示全部楼层

搂主,我不知道你如何设置的土黄色,不知为什么不能更改。

附件是我设置的颜色和程序,参考。

 

ZtnFhOrz.zip (10.69 KB, 下载次数: 209)

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-17 12:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用zhiwu.zhu在2008-4-17 11:06:56的发言:

搂主,我不知道你如何设置的土黄色,不知为什么不能更改。

附件是我设置的颜色和程序,参考。

 


土色是条件格式设置的颜色,我这个求助的目的是学习怎样用代码获取条件格式设置的颜色(或者这样说:怎样用代码判断单元格是不是符合条件格式)。

 当然,像lqs730917121 朋友回复的一样:

Sub TJ()
 Dim T As Range

 Set Myrange = Range("A1:G7")
 For Each T In Myrange
     If T.Value > 5 Then
        k = k + 1
     End If
 Next
 Range("H1") = k
End Sub

在程序中,可以用If T.Value > 5 判断是不是符合条件公式,但这里要说的是,我的附件是简单的举例,如果是复杂的运算,就不是一个If T.Value > 5 可以解决的了,可能需要N多行代码才可以,这样是不是就失去了代码的简洁性了。

难道就没有办法用代码判断T的颜色是条件格式显示的颜色或哪一个属性显示这个单元格是符合条件格式的,非要再重新用代码计算一遍吗?

是不是这个问题太简单了,版主及个位高手都懒的解答!让我们这些新手在这里讨论!

期待高手解答!!!!!


TA的精华主题

TA的得分主题

发表于 2008-4-17 18:56 | 显示全部楼层

 Dim T As Range

 Set Myrange = Range("A1:G7")
 For Each T In Myrange
 If T.Value > 5 Then T.Interior.ColorIndex = 40 '增加条件格式
     If T.Interior.ColorIndex = 40 Then
        k = k + 1
     End If
 Next
 Range("H1") = k
End Sub

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 12:47 , Processed in 0.048339 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表