ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] RGB颜色分类

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-12 13:12 | 显示全部楼层
谢谢,学习了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-13 09:39 | 显示全部楼层
如附件正是我提问的方法,也是转载的,但有点问题,那位高手再看看问题出现在哪里,就是出来的数字好多颜色相关很远,但数字是一样的,所以无法排序。

Excel颜色排序.zip

12.62 KB, 下载次数: 12

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-13 09:41 | 显示全部楼层
13631632978 发表于 2018-9-13 09:39
如附件正是我提问的方法,也是转载的,但有点问题,那位高手再看看问题出现在哪里,就是出来的数字好多颜色 ...

大家可以用我前发的RGB颜色显示来实验看看,谢谢!

TA的精华主题

TA的得分主题

发表于 2018-9-13 14:39 | 显示全部楼层
Sub 按钮3_Click()
Rows("2:65535").ClearContents
Dim x, ys
Cells.Interior.ColorIndex = xlNone

K = 2
For x = 380 To 780 Step 0.5

If x >= 380 And x < 430 Then '/*x为可见光波长,ys为颜色值*/
   R = 255: G = 0: B = 2.1 * (x - 380) + 150
ElseIf x >= 430 And x < 460 Then
  R = 255 - 8.5 * (x - 430): G = 0: B = 255
ElseIf x >= 460 And x < 480 Then
   R = 0: G = 12.8 * (x - 460): B = 255
ElseIf x >= 480 And x < 540 Then
   R = 0: G = 255: B = 255 - 4.25 * (x - 480)
ElseIf x >= 540 And x < 580 Then
   R = 6.375 * (x - 540): G = 255: B = 0
ElseIf x >= 580 And x < 660 Then
   R = 255: G = 255 - 3.1875 * (x - 580): B = 0
ElseIf x >= 660 And x < 780 Then
   R = 255: G = 0: B = 0.833 * (x - 660)
Else
   R = 255: G = 255: B = 255
End If

    R = Round(R, 0): Cells(K, 1) = R
    G = Round(G, 0): Cells(K, 2) = G
    B = Round(B, 0): Cells(K, 3) = B

    ys = R + G * 256 + B * 65536
    ys = "&H" & Hex(CLng(ys))
    Cells(K, 5).Interior.Color = ys
    Cells(K, 4) = Cells(K, 5).Interior.Color
    Cells(K, 6) = Cells(K, 5).Interior.ColorIndex
    Cells(K, 7) = x
    K = K + 1
Next
End Sub

RGB色谱.zip (48.92 KB, 下载次数: 38)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-14 10:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zopey 发表于 2018-9-13 14:39
Sub 按钮3_Click()
Rows("2:65535").ClearContents
Dim x, ys

非常谢谢!很有用的分享,收藏了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-14 10:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Zopey,不过我们产品通过色差仪已生成了RGB值,如何用你的方法进行产品的颜色进行排序呢,搞了半天不知从何下手,因我对VBA只是个新手,正在学习,能否帮忙在我的附件里面整理一下,谢谢!

RGB颜色显示.zip

1.64 MB, 下载次数: 9

TA的精华主题

TA的得分主题

发表于 2018-9-14 17:57 | 显示全部楼层
RGB 转换为hls ,再排序。

颜色排序.zip (2 MB, 下载次数: 26)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-18 10:42 | 显示全部楼层
13631632978 发表于 2018-9-14 10:35
Zopey,不过我们产品通过色差仪已生成了RGB值,如何用你的方法进行产品的颜色进行排序呢,搞了半天不知从何 ...

感谢帮助,这种方法是可以排序,但颜色排序没有规律,我是想如你上面附件一样,把我现有的RGB值转换成波长,这样的排序颜色是由浅到深或由深到浅,如按这相规律生产进行排程,会方便很多,目前关键是将我附件的RBG值如何转换成波长?

TA的精华主题

TA的得分主题

发表于 2018-9-18 10:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
13631632978 发表于 2018-9-18 10:42
感谢帮助,这种方法是可以排序,但颜色排序没有规律,我是想如你上面附件一样,把我现有的RGB值转换成波 ...

HSL 色彩空间中的 H 即代表人眼观察到色调,可作为排序主打。

TA的精华主题

TA的得分主题

发表于 2018-9-18 11:08 | 显示全部楼层
我调试、整理好的 相关色彩转换函数 ,在链接处已公开vba代码。

http://club.excelhome.net/thread-1436451-1-1.html

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2025-1-15 22:10 , Processed in 0.025814 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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