我已经订购了大约9个条形图。问题是,当您这样做时,图表之间的名称颜色会有所不同。
因此,我想在所有图表中使每一行的颜色相同。
这段代码可以运行,但是它什么也不做,我不确定为什么吗?系列是正确的事情吗?我这里仅以其中两个为例,实际情况中有8个ifs。
Sub Button3_Click()
For Each myChartObject In Sheets("Rank Calc").ChartObjects
For Each mySrs In myChartObject.Chart.SeriesCollection
If mySrs.Name = "Monarch" Then mySrs.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
If mySrs.Name = "Alpha" Then mySrs.Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
Next
Next
End Sub
我认为series可能是错误的事情,但是我的数据的排列方式是将所有名称都放在一列中,然后将它们的值放在它们旁边的列中,如果这有助于确定“ series”是否是更改颜色的正确选择的。
我现在也尝试过这个:
Sub Button3_Click()
Dim rPatterns As Range
Dim iCategory As Long
Dim vCategories As Variant
Dim rCategory As Range
Set rPatterns = Sheets("RankCalc").Range("AH1:AH8")
For Each myChartObject In Sheets("RankCalc").ChartObjects
With myChartObject.SeriesCollection(1)
vCategories = .XValues
For iCategory = 1 To UBound(vCategories)
Set rCategory = rPatterns.Find(What:=vCategories(iCategory))
.Points(iCategory).Format.Fill.ForeColor.RGB = rCategory.Interior.Color
Next
End With
Next
End Sub
但是它告诉我With myChartObject.SeriesCollection(1)
,该对象不支持该方法。所以我不知道该怎么办。
要更改系列的颜色,请
设置属性->.Interior.Color
请参阅以下代码段...
Sub Button3_Click()
Dim myChartObject As ChartObject
Dim mySrs As Series
For Each myChartObject In Sheets("Sheet1").ChartObjects
For Each mySrs In myChartObject.Chart.SeriesCollection
Select Case mySrs.Name
Case "A"
mySrs.Interior.Color = RGB(255, 0, 0)
Case "B"
mySrs.Interior.Color = RGB(0, 255, 0)
Case "C"
mySrs.Interior.Color = RGB(0, 0, 255)
Case "D"
mySrs.Interior.Color = RGB(255, 255, 0)
Case "E"
mySrs.Interior.Color = RGB(0, 0, 0)
End Select
Next
Next
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句