在给定源单元格颜色的情况下,尝试添加按钮以更改条形图上的颜色。
这是我正在使用的代码:
Private Sub CommandButton2_Click()
Dim oChart As ChartObject
Dim MySeries As Series
Dim FormulaSplit As Variant
Dim SourceRangeColor As Long
Dim seriesArray() As Variant
Dim pointIterator As Integer
For Each oChart In ActiveSheet.ChartObjects
For Each MySeries In oChart.Chart.SeriesCollection
seriesArray = MySeries.Values
For pointIterator = 1 To UBound(seriesArray)
FormulaSplit = Split(MySeries.Formula, ",")
SourceRangeColor = Range(FormulaSplit(2)).Item (pointIterator).Interior.Color
MySeries.Points(pointIterator).Interior.Color = SourceRangeColor
Next pointIterator
Next MySeries
Next oChart
End Sub
如果我自己填写各个单元格,则效果很好,但是,如果我设置单元格以通过条件格式填充其颜色,则上面的代码会将所有条形更改为白色。我假设这是因为它没有读取条件格式的单元格填充,所以它默认为白色。
有什么办法可以解决这个问题?
谢谢。
答案 0 :(得分:2)
可以通过DisplayFormat
属性访问通过CF应用的格式:
Range(FormulaSplit(2)).Item (pointIterator).DisplayFormat.Interior.Color