在用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


发表评论