当一个图表中含有较多图表系列时,可以通过筛选按钮,有选择的显示或隐藏某些系列。
如下图所示

Excel图表中有8个系列,如果只想显示其中的某些系列,可以单击图表在显示的“漏斗”形状中对要隐藏的系列进行筛选,如下图所示:

在VBA中,可以通过系列对象Serie的IsFiltered属性设置系列是显示还是隐藏。
但是要特别注意的是,所以已经显示的系列组成的系列集合对象是SeriesCollection,而所有系列(包含已经被筛选隐藏的)组成的集合对象是FullSeriesCollection。
有了上述的知识,可以使用如下的代码隐藏或显示图表的系列:
Sub QQ1722187970()
Dim oWK As Worksheet
Set oWK = Excel.ActiveSheet
Dim oChartObject As ChartObject
Set oChartObject = oWK.ChartObjects(1)
Dim oChart As Chart
Dim oSeries As Series
Set oChart = oChartObject.Chart
With oChart
'先将所有系列显示
For Each oSeries In .FullSeriesCollection
With oSeries
.IsFiltered = False
End With
Next
'然后隐藏特定的系列
Set oSeries = .SeriesCollection("同比")
With oSeries
.IsFiltered = True
End With
End With
End Sub
上述代码可以将上图中的“同比”系列隐藏,如下图所示:



发表评论