如何用vba将图表的系列绘制在次坐标轴?

Excel图表可以有主坐标轴和次坐标轴两个坐标轴。

对于数量级不一样的图表系列,如果都绘制在同一个坐标轴,会使得数据无法准备的表达。

如下图所示

图表中同比和环比明细数量级和其它系列的不一致,如果都绘制在主坐标轴,根本无法区分。

如果要在vba中将这两个系列绘制在次坐标轴,可以通过设置Series对象的AxisGroup属性,其中

将Series对象的AxisGroup属性的值设置为1(xlPrimary)表示绘制在主坐标轴,将值设置为2(xlSecondary)表示绘制在次坐标轴。

有了上述的知识,可以使用如下的vba代码将上述图表中的“同比”和“环比”系列值绘制在次坐标轴。

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
        Set oSeries = .SeriesCollection("同比")
        With oSeries
            .AxisGroup = xlSecondary
        End With
        Set oSeries = .SeriesCollection("环比")
        With oSeries
            .AxisGroup = xlSecondary
        End With
    End With
End Sub

运行代码后的效果图如下所示:

       

发表评论