ExcelVBA实现单元格背景颜色与RGB值互转
创作时间:
作者:
@小白创作中心
ExcelVBA实现单元格背景颜色与RGB值互转
引用
CSDN
1.
https://blog.csdn.net/fsyuheduo/article/details/144522284
在Excel中,我们通常用手工操作,设置单元格的背景颜色。而在电脑编程中,单元格的背景颜色由RGB(Red - 红、Green - 绿、Blue - 蓝)颜色模型是一种通过混合不同比例的红、绿、蓝三种颜色分量来表示颜色的方式。每个颜色分量的值范围是0到255。例如,(255, 0, 0)表示纯红色,(0, 255, 0)表示纯绿色,(0, 0, 255)表示纯蓝色,而(0, 0, 0)表示黑色,(255, 255, 255)表示白色。
颜色分量的意义
- 红色分量(Red):决定了颜色中红色的强度。当红色分量的值越高时,颜色就越偏向红色。
- 绿色分量(Green):控制颜色中绿色的含量。较高的绿色分量值使颜色更倾向于绿色。
- 蓝色分量(Blue):确定颜色中蓝色的比重。大的蓝色分量值会让颜色更接近蓝色。
通过调整这三个分量的不同组合,可以创建出各种各样的颜色。
手工操作:设置单元格背景颜色并查看RGB值
鼠标右键已填充颜色的单元格->>点击打开“设置单元格格式”->>点击“填充”选项下的“其他颜色”->>点击“自定义”,选择颜色模式为RGB->>
下面进行ExcelVBA编程设计,我先设计了这样子的一个测试场景
在工作表“ 色彩”中,两个区域,
- 由RGB取色:从K25单元格开始
- 由色取RGB:从E25单元格开始
在VBA中:由RGB值设置单元格背景颜色
示例代码
Sub 由RGB取色()
Dim Rng As Range
With Worksheets("色彩")
lastRow = .Range("K25").End(xlDown).Row
For i = 26 To lastRow
Set Rng = .Range("k" & i)
rN = CInt(Rng.Offset(0, 1).value)
Gn = CInt(Rng.Offset(0, 2).value)
Bn = CInt(Rng.Offset(0, 3).value)
Rng.Offset(0, 4).Interior.Color = RGB(rN, Gn, Bn)
Next
End With
End Sub
代码解析:
- 从K25到K25最后的一行循环
- RN=L列的值,GN=M列的值,BN=M列的值
- Range.Interior.Color=RGB(RN,GN,BN)的值
在VBA中:由单元格背景颜色提取RGB值
示例代码
Sub 由色取RGB()
Dim Rng As Range
With Worksheets("色彩")
lastRow = .Range("E25").End(xlDown).Row
For i = 26 To lastRow
Set Rng = .Range("F" & i)
Rng.Offset(0, 1) = Rng.Interior.Color Mod 256
Rng.Offset(0, 2) = Rng.Interior.Color \ 256 Mod 256
Rng.Offset(0, 3) = Rng.Interior.Color \ 256 \ 256 Mod 256
Next
End With
End Sub
代码解析:
相关知识
Mod运算
Mod运算符用于计算两个数相除后的余数,即取模运算
如:result =10 Mod 3 ' result 的值为 1\运算
\运算符用于执行整除运算,即计算两个数相除后的整数部分
如:result = 10 \ 3 ' result 的值为 3从E25到E25最后的一行循环
Rng.Interior.Color是一个Long型整数
R=Long Mod 256,就是 Long除以256后的余数,G,B同理进行取整再取余的运算。
下面是效果图
总结
单元格背景颜色与RGB值互转
热门推荐
量化交易必读:一份全面的书籍清单
电脑文件丢失怎么恢复数据?这几个方法帮你解决问题!
HTML加载txt文件的多种方法详解
2024科隆游戏展Xbox发布内容汇总
电动车锂电池爆燃之殇:电梯内的生死瞬间与防范之策
王者荣耀露娜皮肤深度评测:探究哪款皮肤手感最佳,揭秘露娜手感最好的皮肤
死宅更容易变傻?Science最新研究:大脑缺氧竟是常态,但靠运动可以改善
明明长得一模一样,为何一个叫牡蛎,一个叫生蚝?弄懂再买不吃亏
如何有效查询网站的更新频率?
历史上杨再兴和杨志是什么关系?
三国项目经理讲述了什么
中国名将王聪遭遇裸绞事件,英勇背后的挑战与反思
檐前听雨落,诗行润春声——十三首诗词里的雨水节气
压敏电阻的工作原理、选型以及相关计算
如何实现个人与团队双赢:十大关键要素
分析师:金银受到良好支撑,值得逢低买入
FPV光纤无人机军事战场技术详解
几十块和几千块的枕头,到底有什么区别?挑对枕头要看这些→
中国移动19级岗级是怎么定的?
鹅掌木浇水的正确方法是什么?如何避免过度浇水导致根系腐烂?
如何促进海南现代服务业高质量发展?代表委员们热议
人工智能客服能否理解复杂的用户查询?正在不断提升对复杂查询的理解能力中
一直做奇怪的梦:原因与解决方法
“桑+榨”变身“财富密码” 助推蚕农增收致富
如何升级TP-Link EasyMesh卫星设备的固件版本
家庭纠纷化解之道:从理解与沟通出发
又见宋朝烟火里的风雅“宋”
“猪婆龙”雌雄靠温控
四川大学李为民团队最新研究:Sf9细胞重组疫苗作为异源加强剂效果显著
“薛定谔的猫”只是一个思想实验,到底想表达什么?