获取 Excel 填充色的十六进制颜色值:取色器 + 手动转 RGB

WPS的Excel怎么获取填充颜色的颜色值是多少

在WPS Excel中获取填充颜色的颜色值,主要有以下几种方法,你可以根据自己的情况选择:

🛠️ 方法一:使用名称管理器与宏表函数(无需编程)

这是最常用且无需编程的方法,适合一次性或少量获取颜色值。

  1. 打开名称管理器 :在WPS表格中,点击顶部菜单栏的 "公式" -> "名称管理器"

  2. 新建名称 :在名称管理器窗口中,点击 "新建"

  3. 设置名称和引用位置

    • 名称 :输入一个你容易记住的名字,比如 GetColor

    • 引用位置 :输入公式 =GET.CELL(63, 单元格)

      • 63 是一个固定的参数,代表我们要获取的是单元格的背景色

      • 请将 "单元格" 替换为你实际要获取颜色的单元格地址,例如 A1

    • 点击 "确定" 保存设置。

  4. 使用自定义函数 :在任意一个空白单元格中输入 =GetColor(即你刚才设置的名字),它就会返回指定单元格的背景色数值。

    • 注意 :使用此方法后,保存文件时,WPS会提示你将文件格式保存为 .xlsm(启用宏的工作簿),否则自定义函数会失效。

💻 方法二:使用WPS JS宏(适合批量处理)

如果你需要处理大量数据或想实现自动化,可以使用WPS内置的JS宏来编写一个自定义函数。

  1. 进入宏编辑器 :点击 "开发工具" -> "WPS宏编辑器"

  2. 插入模块并编写代码:在编辑器中插入一个新模块,然后粘贴以下代码:

    javascript

    复制代码
    function GET_COLOR(rng, type) {
        // 获取背景色的索引值
        var clr_idx = rng.Interior.ColorIndex;
        if (type == "idx") {
            return clr_idx;
        }
        // 获取10进制颜色值
        var clr = rng.Interior.Color;
        if (type == "10") {
            return clr;
        }
        // 将10进制颜色值转为16进制
        var wf = Application.WorksheetFunction;
        var clr_hex = wf.Dec2Hex(clr);
        var hex_len = clr_hex.length;
        if (hex_len < 6) {
            clr_hex = wf.Rept("0", 6 - hex_len) + clr_hex;
        }
        // 拆分出RGB的16进制值
        var r_hex = clr_hex.slice(4);
        var g_hex = clr_hex.slice(2, 4);
        var b_hex = clr_hex.slice(0, 2);
        if (type == "16") {
            return r_hex + g_hex + b_hex; // 返回16进制颜色值
        } else if (type == "rgb") {
            // 将16进制转为10进制,并返回RGB值
            return wf.Hex2Dec(r_hex) + "," + wf.Hex2Dec(g_hex) + "," + wf.Hex2Dec(b_hex);
        }
    }
    • 代码说明

      • rng:代表你要获取颜色的目标单元格。

      • type:用于指定返回值的格式。

        • "idx":返回颜色索引值。

        • "10":返回10进制颜色值。

        • "16":返回16进制颜色值。

        • "rgb":返回RGB值。

  3. 使用自定义函数 :保存代码后,回到表格,就可以像使用普通函数一样使用它了。例如,在单元格输入 =GET_COLOR(A1, "rgb"),即可获取A1单元格背景色的RGB值。

🎨 方法三:使用取色器(获取任意位置颜色)

这个方法不能直接获取某个单元格的填充色值,但可以用"吸管"工具吸取屏幕上任意位置的颜色,并查看其RGB值。

  1. 在WPS中插入一个形状(如矩形)。

  2. 选中该形状,在右侧的"填充"选项中选择 "取色器"(滴管图标)。

  3. 将鼠标移动到目标颜色上(可以是某个单元格),取色器会实时显示该颜色的RGB值

🧰 方法四:使用第三方工具(如RPA工具)

如果你在使用影刀等RPA工具,其"获取单元格属性"命令中通常有直接的"背景色"选项,可以一键获取。

总结一下

  • 如果只是偶尔查看一两个单元格的颜色,方法一(名称管理器) 最方便。

  • 如果需要批量处理或获取特定格式(如RGB),方法二(JS宏) 更强大。

  • 如果只是想看看某个颜色值,方法三(取色器) 最直接。


需要十六进制的颜色值,怎么获取,取色器显示的是RGB的值


明白了,你想要的是十六进制颜色值(比如 #FF0000FF0000),而取色器只显示 RGB(如 255,0,0)。在 WPS 表格中,最直接且一劳永逸的方法就是使用我之前提供的 JS 宏自定义函数。它可以一次性返回十六进制,无需手动转换。

🚀 推荐方案:使用 JS 宏返回十六进制值

我已经在之前的回答中给出了完整的宏代码,现在你只需要按以下步骤调用即可:

  1. 确保宏已启用:如果还没创建,请按前面"方法二"的步骤,在"开发工具"->"WPS宏编辑器"中插入模块并粘贴那段代码。

  2. 保存文件为 .xlsm(启用宏的工作簿),否则函数会失效。

  3. 在任意单元格中输入公式

    excel

    复制代码
    =GET_COLOR(A1, "16")

    其中 A1 替换为目标单元格,第二个参数 "16" 表示返回十六进制颜色值(不带 # 号,例如 FF0000)。

如果你需要带 # 号,可以在公式外套一层 ="#"&GET_COLOR(A1,"16")


🧮 备选方案:手动将 RGB 转为十六进制(不使用宏)

如果不想用宏,你可以先用取色器记下 RGB 三个数值,然后在 WPS 中用公式拼接(但要补足两位):

假设红色值在 B1,绿色值在 C1,蓝色值在 D1,则:

excel

复制代码
=DEC2HEX(B1,2)&DEC2HEX(C1,2)&DEC2HEX(D1,2)
  • DEC2HEX 的第二个参数 2 确保结果至少两位,比如 0 会显示为 00

  • 如果 RGB 值是手动输入的,直接替换单元格引用即可。

但这种方法每次都要手动输入 RGB,不如宏方便。


📌 总结

  • 要自动获取任意单元格的十六进制填充色,首选 JS 宏函数 GET_COLOR(单元格, "16")

  • 如果只是偶尔查看一两个颜色,用取色器看 RGB,再用 DEC2HEX 手工转换也行,但不够高效。

按推荐方案操作,以后只需像普通函数一样用即可,简单快捷。如果对宏代码有任何疑问,可以再问我。

相关推荐
E_ICEBLUE4 小时前
为 Excel 工作簿和工作表设置密码保护【Python教程】
python·excel
小白学大数据19 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
几层山下1 天前
WPS的word文档转pdf java实现不乱格式生成-已解决
java·pdf·word·wps
SunnyDays10111 天前
如何使用 Python 添加和编辑 Excel VBA 宏(无需安装 Excel)
开发语言·python·excel·vba
吃杠碰小鸡1 天前
Wps常用功能介绍
前端·wps
GHL2842710901 天前
codex操作excel学习
学习·ai·word·excel
less_121381 天前
HarmonyOS WPS Open SDK:enableEdit 只读与可编辑打开模式
华为·sdk·harmonyos·wps·鸿蒙开发·文档编辑
陈天伟教授2 天前
WPS 文档中的表单,部分单元格内容显示不全(1)
wps
less_121382 天前
HarmonyOS WPS Open SDK:OpenFileRequest 构造参数与 sendRequest 打开链路
华为·sdk·harmonyos·wps·鸿蒙开发·文档编辑