在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)
。
如何从cell
为Data series
selectcolor
?
下面的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))