ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] EXCEL到底能显示多少颜色

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-10 19:34 | 显示全部楼层
香川群子 发表于 2014-12-10 11:31
吃饱了撑的……

印刷、配色都是对比颜色而查取RGB值,再调色,否则何必还要个国际通用的潘通色卡?,只不过想通过EXCEL表体现而已。不过,正如6楼的900多种颜色一样,已基本满足一般的需要了。
EXCEL菜单中的自定义颜色,也是RGB格式255*255*255,在EXCL平常使用中谁又何尝用得了这么多,看来连微软也是“吃饱了撑的”……呵呵

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-10 19:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
将 Cells(m, n) = i & "," & j & "," & k 先写入数组,不知是否会快一点儿,自己的机子上对比不出来。

TA的精华主题

TA的得分主题

发表于 2014-12-10 19:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
2013
工作簿中的颜色数        1600 万种颜色(32 位,具有到 24 位色谱的完整通道)

2003
工作簿中的颜色数        56

---------
Excel 规范与限制
2013 比 2003 强大多了 ~


评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-12-10 20:11 | 显示全部楼层
aman1516 发表于 2014-12-10 19:43
将 Cells(m, n) = i & "," & j & "," & k 先写入数组,不知是否会快一点儿,自己的机子上对比不出来。

这个应该取消,写rgb值毫无意义
实在想看颜色值,可以定义个Worksheet_SelectionChange事件
单击单元格的时候显示单元格的color 就可以了

TA的精华主题

TA的得分主题

发表于 2014-12-10 20:29 | 显示全部楼层
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    MsgBox "蓝绿红" & vbCrLf & Right("000000" & Hex(Target(1).Interior.Color), 6)
End Sub


双击单元格显示颜色值

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-10 21:35 | 显示全部楼层
coby001 发表于 2014-12-10 20:29
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True ...

谢谢,好方法,学习了。
检测RGB值:蓝150,绿180,红00,对应的结果是:96B400;蓝60,绿90,红00,对应的结果是:3C5A00;制式不同。
借用EH中一位老师的自定义函数转换了一下(在此谢谢原创作者):

Public Function Color2RGB(ByVal myColor As Long) As String
    Dim r%, G%, B%
    r = myColor Mod 256
    G = myColor \ 256 Mod 256
    B = myColor \ 256 \ 256
    Color2RGB = "RGB(" & CStr(r) & "," & CStr(G) & "," & CStr(B) & ")"
End Function

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     Cancel = True
     'MsgBox "蓝绿红" & vbCrLf & Right("000000" & Hex(Target(1).Interior.Color), 6)
     MsgBox Color2RGB(Target(1).Interior.Color)
End Sub

一切OK啦。(大家要测试,将代码中的 step 5 改为 step 15 吧,大量数据运算,伤不起啊)


TA的精华主题

TA的得分主题

发表于 2014-12-11 11:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
颜色值一般用十六进制表示,会比较方便。
我之所以写 "蓝绿红" ,而不是 RGB,因为 红 在低位,蓝 在高位。
三色一一对应,很直观。十进制不太直观。
绿
3C5A00
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 17:23 , Processed in 0.035902 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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