我正在尝试使用特定工作表上的活动单元格中的单元格颜色创建图表。当使用下面提供的宏时,我发现只有一些指定的单元格RGB颜色代码与图表匹配。我不确定为什么有些颜色会匹配,有些则不会。手动输入颜色代码时,图表中会显示正确的颜色。有什么东西我要离开这个宏还是我需要采取的额外步骤?
我正在使用Excel 2016进行此项目。
Sub ColorChartColumnsbyCellColor()
With Sheets("Sheet1").ChartObjects(1).Chart.SeriesCollection(1)
Set vAddress = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
For i = 1 To vAddress.Cells.Count
.Points(i).Format.Fill.ForeColor.RGB =
ThisWorkbook.Colors(vAddress.Cells(i).Interior.ColorIndex)
Next i
End With
End Sub
答案 0 :(得分:2)
您正在为RGB属性指定颜色索引。颜色索引与红绿蓝无关。此外,@ Tim William's有一点:条件格式化可能会对你正在做的事情发挥作用。
尝试使用此代码,将Color属性分配给RGB属性:
Sub ColorChartColumnsbyCellColor()
With Sheets("Sheet1").ChartObjects(1).Chart.SeriesCollection(1)
Set vAddress = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
For i = 1 To vAddress.Cells.Count
'Comment the line below and uncomment the next one to take conditional formatting into account.
.Points(i).Format.Fill.ForeColor.RGB = vAddress.Cells(i).Interior.Color
'.Points(i).Format.Fill.ForeColor.RGB = vAddress.Cells(i).DisplayFormat.Interior.Color
Next i
End With
End Sub