excel怎么将单元格填充颜色的RGB数值自动显示在所在的单元格中? 图片是我手动输入的

如题所述

第1个回答  2016-10-09

自定义函数:

Function getRGB(rng As Range)
  c = rng.Interior.Color
  r = c Mod 256
  g = (c - r) / 256 Mod 256
  b = (c - r - g * 256) / 256 ^ 2
  getRGB = r & "," & g & "," & b
End Function

本回答被提问者采纳
第2个回答  2016-10-09

终于写出来了,RGB的反转不知道是否有函数,自己用16进制实现的,见笑了:

Option Explicit

Sub YgB()
    Dim r As Range, x, y, z, h
    For Each r In Selection
        h = Hex(r.Interior.Color)
        While Len(h) < 6
            h = "0" & h
        Wend
        x = Application.WorksheetFunction.Hex2Dec(Right(h, 2))
        y = Application.WorksheetFunction.Hex2Dec(Mid(h, 3, 2))
        z = Application.WorksheetFunction.Hex2Dec(Left(h, 2))
        r = h & "|" & x & "," & y & "," & z
    Next r
End Sub


执行示例:

相似回答