如何用vba设置excel图表将空单元格显示为空距或零值或用直线连接?

在用excel图表时,经常会遇到图表数据源中的数据有空单元格的情况。

比如下面的数据绘制出来的折线图如下所示:

其中几个月份的销量为空,导致绘制出来的折线图是断开的。

Excel中提供了当遇到类似这种空单元格时图表的绘制方法,如下图所示:

其中上图就是将空单元格显示为“空距”。

如果将空单元格显示为“零值”,绘制出来的折线图如下所示:

如果将空单元格显示为“用直线连接数据点”,绘制出来的折线图如下所示:

如果要通过VBA来设置当遇到空单元格时,图表的绘制方式,可以通过设置Chart对象的DisplayBlanksAs属性值。

把Chart对象的DisplayBlanksAs属性值设置为1(xlNotPlotted)表示“空距”,设置为2(xlZero)表示零值,设置为3(xlInterpolated)表示“用直线连接数据点”。

代码如下:

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
        '用直线连接数据点
       .DisplayBlanksAs = xlInterpolated
    End With
End Sub
       

发表评论