一般我们用的多的是两种图表
下面用两个带参数函数来示范一下这两种图表,第一个参数sht表示我们要做图表的工作表,第二个参数 rng表示我们要在图表中显示的数据区域,当然这个区域是在第一个参数的工作表中,l, t, w, h分别表示我们要创建的图表的在屏幕位置的左边起始点、顶点、宽度和高度数值。最后一个参数mx需要特别说明一下,有时候我们的图表数据的变化范围太大,导致折线图的峰值很高,但大部分数据峰值很低,这时候如果不规定mx限制高度就会导致图表的其余部分辨识度不高,mx在这里的作用其实就是截掉部分峰值的作用,比如大部分数据在100--500范围但有某一列数据是10000,这样就可以规定mx=600。
第一种是折线图
Sub creatchart(sht, rng, l, t, w, h, mx)
With Worksheets(sht).Shapes.AddChart2(227, xlLineMarkers, l, t, w, h).Chart
.SetSourceData Source:=rng
.Axes(xlValue).MinimumScale = 0
.Axes(xlValue).MaximumScale = mx
End With
End Sub
第三行代码的xlLineMarkers就是代表折线图
第三行代码的数字“227”是图表的式样,折线图有很多种式样供选择,这里你可以随便变动数字来测试图表外观
第二种是柱状图表
Sub creatchart1(sht, rng, l, t, w, h, mx)
'xlLineMarkers
With Worksheets(sht).Shapes.AddChart2(227, xlColumnClustered, l, t, w, h).Chart
.SetSourceData Source:=rng
.Axes(xlValue).MinimumScale = 0
.Axes(xlValue).MaximumScale = mx
End With
End Sub
第三行代码的xlColumnClustered就是代表折线图