当前位置: 首页 > article >正文

ExcelVBA编程输出ColorIndex与对应颜色色谱

b8a22650066279f928da603d20944e50.png

==标题==

ExcelVBA编程输出ColorIndex与对应颜色色谱

==正文==

解决问题

编程输出ColorIndex与对应色谱

共56,打算分4纵列输出,标题是ColorIndex,Color,Name

1. 解释VBA中的ColorIndex属性

在VBA(Visual Basic for Applications)中,

Interior.ColorIndex

属性用于设置或返回单元格或范围内部的颜色索引。这个属性是Excel内置颜色集合的一个引用,通过指定一个数字来选择一个颜色。与直接使用RGB颜色值不同,

ColorIndex

提供了一种更简单的方式来引用一组预定义的颜色,它使用一个整数值来表示颜色,这个整数值对应于 Excel 内置的颜色索引。颜色索引的范围是 1 到 56,其中 1 表示黑色,2 表示白色,3 表示红色,依此类推。

2.收集Color的中文名:

来源于网络(按序号1-56)

黑色、白色、色、鲜绿色、蓝色、黄色、粉红色、青绿色、深红色、绿色、深蓝色、深黄色、装咽火、青色、灰-25%、灰-50%、海螺色、梅红色、象牙色、浅青绿、深紫色、珊瑚红、海蓝色、冰蓝、深蓝色、粉红色、黄色、青绿色、紫罗兰、深红色、青色、蓝色、天蓝色、浅青绿、浅绿色、浅黄色、淡蓝色、玫瑰红、淡紫色、茶色、浅蓝色、水绿色、酸橙色、金色、浅橙色、色、蓝-灰、灰-40%、深青、海绿、深绿、色、色、梅红色、靛蓝、灰-80%

3.解决思路

考虑到输出界面大小,

3-1.把56分4纵列输出,

3-2.标题3列是Array("ColorIndex", "Name", "Color"),共需要4*3=12列,

3-3.从for i=1 to 56,从第2行起输出,每次要输出ColorIndex,Name, Color,三个数据,

3-4.每到56/4后,再从第2起开始输出

4.效果图

a57ba0266d19db54fd01b81766b93a80.png  

5.示例代码

通过多次测试,成功。其中有编程输出的方式可供大家学习

可供学习知识点

数据的循环中的标题输出,坐标输出,数组输出

'由于要多次输出,测试所以用一个清除Sub clear清除()Cells.ClearEnd Sub’用于输出ColorIndex与颜色对照表Sub CreateColorIndexAndColor()Dim rowN As IntegerDim colN As IntegerDim row_i As IntegerDim col_i As IntegerDim rng As RangeDim partCol As IntegerDim partRow As IntegerDim r As RangeDim Num As IntegerDim ColorName As StringDim ColorArr As VariantDim NameArr As VariantNameArr = Array("ColorIndex", "Name", "Color")ColorName = "黑色、白色、色、鲜绿色、蓝色、黄色、粉红色、青绿色、深红色、绿色、深蓝色、深黄色、装咽火、青色、灰-25%、灰-50%、海螺色、梅红色、象牙色、浅青绿、深紫色、珊瑚红、海蓝色、冰蓝、深蓝色、粉红色、黄色、青绿色、紫罗兰、深红色、青色、蓝色、天蓝色、浅青绿、浅绿色、浅黄色、淡蓝色、玫瑰红、淡紫色、茶色、浅蓝色、水绿色、酸橙色、金色、浅橙色、色、蓝-灰、灰-40%、深青、海绿、深绿、色、色、梅红色、靛蓝、灰-80%"Num = 56colN = 3rowN = 1row_i = 0col_i = 0partCol = 4partRow = Num / 4ColorArr = Split(ColorName, "、")With ActiveSheet    For Each r In .Range("A1").Resize(1, partCol * colN)     r.Value = NameArr((r.Column - 1) Mod colN)    Next    With .Range("A1").Resize(1, partCol * colN)        .Font.Bold = True    End With    For i = 1 To Num        Set rng = .Cells(row_i + rowN + 1, col_i + 1)        rng = i        rng.Offset(0, 1).Value = ColorArr(i - 1)        rng.Offset(0, 2).Interior.ColorIndex = i        row_i = row_i + 1        If i Mod partRow = 0 Then            row_i = 0            col_i = col_i + colN        End If        Set rng = Nothing    Next    With .UsedRange        .HorizontalAlignment = xlCenter        .VerticalAlignment = xlCenter        .ColumnWidth = 9.5        .RowHeight = 30        .Borders.LineStyle = 1    End WithEnd WithEnd Sub

6.相关知识链接

在VBA中,Interior.Color如何应用,举例说明

在VBA中,编程中的颜色的RGB

ExcelVBA实现单元格背景颜色与RGB值互转

在VBA中,Interior.ColorIndex属性及其应用,举例说明

==正文结束==

8243a4bd418af968f9b0626688581ce9.png

3ab3ab9940f726d9af01a0a897ba13be.png

==更多合集==

Excel VBA学习系列汇总20241205

===***===

关注

243c45d35d40bea80ed0d17d4172ef60.jpeg

转发
点赞在看

http://www.kler.cn/a/444427.html

相关文章:

  • OB删除1.5亿数据耗费2小时
  • linux zip unzip 命令的使用
  • 数据结构:B树与B+树
  • Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导
  • Pygubu-Designer 使用指南
  • java集合基础
  • 在 Spring Boot 3 中实现基于角色的访问控制
  • 每天40分玩转Django:实操博客应用
  • 基于Matlab实现三维地球模型(源码)
  • 【Python】使用Selenium 操作浏览器 自动化测试 记录
  • ECharts柱状图-柱图32,附视频讲解与代码下载
  • 电商数据API接口的未来趋势:智能化与自动化
  • Redis篇-16--持久化篇(RDB,AOF,混合持久化,最佳策略)
  • 【java】规则引擎
  • 硬盘清洁器 -一个功能出色的的文件与使用纪录清理工具,不仅可以将磁盘中不必要的暂存盘一次扫除,供大家学习研究参考
  • 数据库中常见的聚合函数
  • 网络多层的协议详述
  • 【自动控制原理】学习地图
  • Golang学习笔记_11——指针
  • 大模型呼入机器人有哪些功能特点?(转)
  • arcgisPro相接多个面要素转出为完整独立线要素
  • 编写composer包和发布全攻略
  • Springboot家政服务管理系统
  • ICCAD 2024新趋势:IP企业携手为汽车和桌面等热点应用打造联合IP解决方案
  • 校园交友app/校园资源共享小程序/校园圈子集合二手物品交易论坛、交友等综合型生活服务社交论坛
  • 基于Spring Boot的医院质控上报系统