如何区别Series、SeriesCollection、FullSeriesCollection对象?

用vba处理图表,经常需要处理图表的系列。

在vba中图表的系列有SeriesSeriesCollectionFullSeriesCollection等3个对象。

这3个对象有点类似,但是又有区别,其中

Series对象表示图表中每个独立的系列。

SeriesCollection、FullSeriesCollection对象均表示图表中的所有系列集合,但是SeriesCollection对象只能表示所有可见的图表系列,FullSeriesCollection对象除了包含可见的图表系列,还保护筛选隐藏的图表系列。

当要删除某个系列时,可以用具体的Series对象的Delete方法。

以下是一个示例代码:

Sub QQ1722187970()
    '创建内嵌的图表
    Dim oChart As Chart
    Dim oWK As Worksheet
    Dim oChartObject As ChartObject
    Set oWK = Excel.Worksheets(1)
    iRow = oWK.Range("a65536").End(xlUp).Row
    Dim oSeries As Series
    Dim oSC As SeriesCollection
    Dim oFSC As FullSeriesCollection
    '先创建一个空白的图形壳
    Set oChartObject = oWK.ChartObjects.Add(100, 0, 500, 300)
    Set oChart = oChartObject.Chart
    '对空白的图形进行设置
    With oChart
        .ChartWizard Source:=oWK.Range("c2:e" & iRow), gallery:=xlBubble3DEffect, PlotBy:=xlColumns, HasLegend:=False
        iCount = .FullSeriesCollection.Count
        If iCount > 1 Then
        For i = .FullSeriesCollection.Count To 2 Step -1
            .SeriesCollection(i).Delete
        Next i
        End If
    End With
End Sub
       

发表评论