Excel的ColorIndex VBA转换为HTML颜色



我有工作代码,可以根据条件格式单元格颜色更改图表颜色。

唯一的问题是,当它将颜色应用于图表时,它采用仅限于Excels 56调色板的ColorIndex属性。然后我拥有的图表看起来像一个孩子的生日派对,看起来不像十亿种RGB颜色那么优雅。

有没有办法提取RGB颜色代码并将其应用于图表?我可以手动将其设置为我想要的任何颜色,但我希望它都是自动化的。

Sub ColorChartColumnsbyCellColor()
Dim xChart As Chart
Dim I As Long, xRows As Long
Dim xRg As Range, xCell As Range
On Error Resume Next
Set xChart = ActiveSheet.ChartObjects("Chart 2").Chart
If xChart Is Nothing Then Exit Sub
With xChart.SeriesCollection(1)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
xRows = xRg.Rows.Count
Set xRg = xRg(1)
For I = 1 To xRows
.Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 4).DisplayFormat.Interior.ColorIndex)
Next
End With
End Sub

替换此行:

.Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 4).DisplayFormat.Interior.ColorIndex)

有了这个:

.Points(I).Format.Fill.ForeColor.RGB = xRg.Offset(I - 1, 4).DisplayFormat.Interior.Color

最新更新