问题:
我正在使用 Excel 2010 和多个数据透视图生成报告。当我生成报告时,我无法将数据透视图系列的颜色设置为静态值。有时“Pass”系列显示为“RED”,这会造成困惑。
我尝试使用下面的代码来强制更改系列上的颜色:
Sheets("PSD").Select
ActiveSheet.ChartObjects("Chart 5").Activate
ActiveChart.SeriesCollection(1).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 176, 80)
.Transparency = 0
.Solid
End With
代码的问题是 SeriesCollection(1) 并不总是我想要的同一个系列,当我将代码更新为 SeriesCollection("Pass") 时,它不起作用。
我需要找到一种方法来按名称引用SeriesCollection,如果不存在,我可以继续使用On Error Resume Next,无需检查它。
最佳答案
要通过名称获取系列的句柄,您可以执行以下操作:
Sub cht()
Dim cht As Chart
Set cht = Sheets("PSD").ChartObjects("Chart 5").Chart
Dim ss As Series
Set ss = cht.SeriesCollection("Pass")
With ss.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 176, 80)
End With
End Sub
之前:
之后:
关于excel - 需要使用 VBA 更改数据透视图上的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27027264/