在Excel中,根据单元格中的值设置RGB颜色

我有一个macros为我画了一堆图表。 我想要做的是dynamic改变Data series color 。 我使用RGB颜色古怪和函数.ForeColor.RGB 。 当我直接使用它.ForeColor.RGB = RGB(88, 88, 88) – 一切工作正常。 但是,当我尝试从一个cell color .ForeColor.RGB = Sheets(1).Cells(1, 1)我得到了错误Type missmatch 。 在Cell(1,1)我有价值: RGB(0, 0, 0)

如何从cellData seriesselectcolor

下面的macros和Excel窗口。

 Sub Macro1() ActiveSheet.ChartObjects("Chart 1").Activate ActiveChart.FullSeriesCollection(1).Select MsgBox Sheets(1).Cells(1, 1) With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = Sheets(1).Cells(1, 1) '.ForeColor.RGB = RGB(88, 88, 88) .Transparency = 0 .Solid End With End Sub 

在这里输入图像说明

您无法将函数名称作为String值传递。 RGB()是一个Function

尝试这个。 这将从3个不同的单元格中取值,例如D4,E4和F4。

 .ForeColor.RGB = RGB( _ Sheets(1).Cells(4, 4), _ Sheets(1).Cells(4, 5), _ Sheets(1).Cells(4, 6) _ ) 

尝试这个:

 '/* have to add this line */ ret = Split(Replace(Replace(Sheets(1).Cells(1, 1), "RGB(", ""), ")", ""), ",") .ForeColor.RGB = RGB(ret(0),ret(1),ret(2))