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
运行代码后的效果图如下所示:



发表评论