ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] VBA获取单元格填充颜色的RGB值,或,用RGB的到填充颜色

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-30 15:47 | 显示全部楼层 |阅读模式
VBA获取单元格填充颜色的RGB值,或,用RGB的到填充颜色,如下图:

GIF 2024-1-30 15-41-37.gif

  1. Sub 颜色与RGB()
  2.    
  3.     '【1.1】已知单元格颜色RGB值获取【填充颜色】
  4.     For i = 4 To 12
  5.         R = Range("B" & i).Value
  6.         G = Range("C" & i).Value
  7.         B = Range("D" & i).Value
  8.         Range("F" & i).Interior.Color = RGB(R, G, B)
  9.     Next
  10.    
  11.     '【1.2】已知单元格【填充颜色】获取颜色RGB值
  12.     For i = 4 To 12
  13.         Range("H" & i) = Range("A" & i).Interior.Color Mod 256
  14.         Range("I" & i) = Range("A" & i).Interior.Color \ 256 Mod 256
  15.         Range("J" & i) = Range("A" & i).Interior.Color \ 256 \ 256 Mod 256
  16.     Next
  17.    

  18.     '【2.1】已知单元格颜色RGB值获取【字体颜色】
  19.     For i = 20 To 28
  20.         R = Range("B" & i).Value
  21.         G = Range("C" & i).Value
  22.         B = Range("D" & i).Value
  23.         Range("F" & i).Font.Color = RGB(R, G, B)
  24.     Next
  25.    
  26.     '【2.2】已知单元格【字体颜色】获取颜色RGB值
  27.     For i = 20 To 28
  28.         Range("H" & i) = Range("A" & i).Font.Color Mod 256
  29.         Range("I" & i) = Range("A" & i).Font.Color \ 256 Mod 256
  30.         Range("J" & i) = Range("A" & i).Font.Color \ 256 \ 256 Mod 256
  31.     Next
  32.    
  33. End Sub
复制代码
原文件如下:
VBA填充RGB.rar (39.08 KB, 下载次数: 87)

评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-30 16:20 | 显示全部楼层
本帖最后由 Excel2119 于 2024-1-30 16:21 编辑




RGB = 256^2 * Red + 256^1 * Green + 256^0 * Blue
   = 65536 * Red + 256 * Green + Blue

注:红,绿,蓝是0~255之间的数,数值越小,亮度越低,数值越大,亮度越高。)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-1-30 19:23 | 显示全部楼层
感觉用Interior.Color更方便,用RGB的话,不容易记清楚颜色。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-31 09:22 | 显示全部楼层
ykcbf1100 发表于 2024-1-30 19:23
感觉用Interior.Color更方便,用RGB的话,不容易记清楚颜色。

为了配色美观,不得不考虑RGB,比如根据【中国色中国传统颜色http://zhongguose.com/】进行颜色搭配,做出的图表,那是杠杠的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-31 09:31 | 显示全部楼层
在分享个取色器吧,方便参考: 【取色器】HTMLcolor v1.4.exe.7z (142.15 KB, 下载次数: 49)

TA的精华主题

TA的得分主题

发表于 2024-1-31 12:52 | 显示全部楼层
颜色值转换成16进制数,每两位就是一种三元色值

TA的精华主题

TA的得分主题

发表于 2024-1-31 12:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
截图软件 FSCapture 比较好用

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-1 10:43 | 显示全部楼层
本帖最后由 Excel2119 于 2024-2-20 16:19 编辑
cidanji 发表于 2024-1-31 12:58
截图软件 FSCapture 比较好用

我的习惯:

在制作动态GIF图用GifCam,分享:
GifCam.zip (716.52 KB, 下载次数: 24)

录视频或截长图用FSCapture,分享:
FastStone Capture for Wingodws V8.7.part1.rar (2 MB, 下载次数: 19)
FastStone Capture for Wingodws V8.7.part2.rar (2 MB, 下载次数: 19)
FastStone Capture for Wingodws V8.7.part3.rar (591.1 KB, 下载次数: 23)


TA的精华主题

TA的得分主题

发表于 2024-2-1 13:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Excel2119 发表于 2024-2-1 10:43
我的习惯:

在制作动态GIF图用  GifCam,分享

做GIF   ScreenToGif 也不错

TA的精华主题

TA的得分主题

发表于 2024-3-9 09:38 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 22:15 , Processed in 0.047187 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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