ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 应用了条件格式的单元格,如何取色阶颜色

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-9-7 10:07 | 显示全部楼层 |阅读模式
本帖最后由 Runnerchin 于 2012-2-7 11:15 编辑

range("a1:c4") 应用了条件格式的色阶,请问我怎么才能取得某个单元格( 比如 a2 )的颜色呢?
我试过  range("a2").interior.Color ,发现色阶并不是修改了单元格的填充色
试过 range("a2").FormatConditions(1).interior.color,它提示对象不支持该属性或方法。
想来想去实在想不到有什么其它的办法了。

PS:还想请教一下大家,隐藏单元格中的数值,除了将文字前景色与背景色改成一样,或者用 ;;; 之外,还有什么别的招吗?

不好意思,我说得不清楚。我用的office 2k7
我现在想达到一种效果:某一个区域,我用了条件格式里的色阶进行处理,现在想隐藏单元格的文字。
方法一就是大家都知道的  ;;;
方法二,我遍历了每个单元格,把文字的前景色设为单元格的背景色
方法三,为每个单元格 load一个label,再把label的大小,位置设为和单元格一样,完全遮盖住,然后把label的backcolor设为单元格的颜色。
一二都没问题,第三种方法里,我卡在了最后一步,给label设置颜色:我想取单元格的背景颜色,但是取出来后才发现单元格的背景色并不是色阶生成的颜色。我现在想知道的就是如何去取得每个单元格由色阶生成的这个颜色。
我试过 formatconditions(x).interior.color,没有这个属性。或者是我的用法有问题?

以下是最终解决方法……看帖看全了撒
用英文谷歌搜了好多论坛,在某篇帖子里提到:把excel单元格复制到word,再从word粘回excel就能得到一个以该色阶颜色作为背景色的单元格。
受了启发,做了点小改动:把整个区域粘到word里,直接遍历word表格里的每个单元格,把颜色直接赋回对应的excel单元格,跳过复制回excel的步骤
Sub cclr()
    Dim wdap As Word.Application
    Set wdap = New Word.Application
    Sheet2.UsedRange.Copy
    With wdap
        .DisplayAlerts = wdAlertsNone
        .Visible = True
        .Documents.Add.Content.Paste
    End With
    For i = 1 To wdap.ActiveDocument.Tables(1).Rows.Count
        For j = 1 To wdap.ActiveDocument.Tables(1).Columns.Count
            Sheet2.Cells(i, j).Font.Color = wdap.ActiveDocument.Tables(1).Cell(i, j).Shading.BackgroundPatternColor
        Next j
    Next i
    wdap.ActiveWindow.Close wdDoNotSaveChanges
    wdap.Quit
End Sub

TA的精华主题

TA的得分主题

发表于 2011-9-7 10:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
可参考以下帖...
http://club.excelhome.net/thread-458151-1-1.html

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-7 11:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
运行出错。看了一下,它原理还是用到了FormatConditions(1).interior.color。和我的第二种方法一样。但使用色阶的时候,它的type = 3 。没有 interior.color属性

TA的精华主题

TA的得分主题

发表于 2011-9-7 11:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
对于03版以下,参考:http://club.excelhome.net/thread-444966-1-1.html
对于第二问题,可以设置单元格格式为:""

TA的精华主题

TA的得分主题

发表于 2011-9-7 11:58 | 显示全部楼层
本帖最后由 single_star 于 2011-9-8 09:29 编辑



不好意思原先我理解错了.

条件格式并不能自动将文字设成不见,也不能自动设成不同的单元格背景颜色.
最好请楼主上传一下附件看看,说不定有其他解法.

TA的精华主题

TA的得分主题

发表于 2012-2-1 16:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我也遇到楼主第一个问题了,请问后来有解决方案么?

TA的精华主题

TA的得分主题

发表于 2012-2-3 00:25 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-2-7 11:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
3231223 发表于 2012-2-1 16:32
我也遇到楼主第一个问题了,请问后来有解决方案么?

你再看一下我的原帖吧……汗

TA的精华主题

TA的得分主题

发表于 2012-2-7 12:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 single_star 于 2012-2-7 12:38 编辑

其实直接在excel就可以实现将具条件格式单元格的字型设成同作用条件格式的背景色的,
请参考附件...
translate_formatconditions_celltype2.rar (9.62 KB, 下载次数: 90)

pd.也可以在设条件格式时就将字型颜色设为同条件格式的背景色,如此就有隐藏效果了(不过条件格式就要修改一下)

TA的精华主题

TA的得分主题

发表于 2012-9-9 07:55 | 显示全部楼层
single_star 发表于 2012-2-7 12:05
其实直接在excel就可以实现将具条件格式单元格的字型设成同作用条件格式的背景色的,
请参考附件...

我把你的代码修改成提取单元格背景色的function进程,在excel2007中,当条件格式多于2个事,返回#value,当条件格式不多于2个时返回正常值。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-6 03:29 , Processed in 0.047266 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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