gpt4 book ai didi

excel - 从单元格中读取颜色为图表 excel 着色

转载 作者:行者123 更新时间:2023-12-04 19:51:20 25 4
gpt4 key购买 nike

在 vba 中,我想从工作表中的单元格中读取颜色来为条形图中的特定条形着色。我的问题是我的颜色格式为 4F9F92,但要在 makro 中读取它,我需要使用单元格中的 excel 颜色代码 4076202。有没有办法在 vba 代码中转换这两种格式......?我知道在即时窗口中我可以做

?rgb(170,50,62)

导致

4076202

在 vba 代码中,我使用以下命令读取颜色

ser.Points(p).Interior.Color = arr(s, p)

其中 s 和 p 是运行在具有不同颜色代码的数组中的两个运行变量。

有没有可能我可以为每个输入值(例如 4F9F92)的单元格设置一个函数,以自动将其转换为格式 4076202,以便 makro 可以读取它?

最佳答案

实际上相当于 rgb(170,50,62) 的十六进制是AA323E转换为 4076202 的 Long 值

1) RGB Function接收红色、绿色、蓝色组件,它们是 Decimal numbers在 0-255 范围内,可以从 HEX 值中剥离

2) 将这些剥离值传递给 RGB function得到Long whole number表示 RGB 颜色值。

Function Hex2RGB(hex As String) As String

Red = Val("&H" & Mid(hex, 1, 2))
Green = Val("&H" & Mid(hex, 3, 2))
Blue = Val("&H" & Mid(hex, 5, 2))

Debug.Print RGB(Red, Green, Blue)
Hex2RGB = RGB(Red, Green, Blue)

End Function

并在您的宏中使用它,如下所示,假设您有 AA323ECell A1

Sub ColorMe()
Range("B1").Interior.Color = Hex2RGB(Range("A1"))
End Sub

关于excel - 从单元格中读取颜色为图表 excel 着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25121035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com