失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【Excel VBA】使用代码生成图表——Chart和Shape的使用方法

【Excel VBA】使用代码生成图表——Chart和Shape的使用方法

时间:2024-07-12 15:21:14

相关推荐

【Excel VBA】使用代码生成图表——Chart和Shape的使用方法

纲举目张

说明运行效果代码code使用说明

说明

因为在日常应用中很少用到图表,最近帮同事写一个自动生成报告的功能,需要自动生成很多图表以便添加到他的报告中,看来需要写一写使用代码生成图表的文章,一方面自己留存,一方面能帮助到需要它的人。

运行效果

代码code

Private Sub CommandButton1_Click()'定义数据区Dim strRange As StringstrRange = "$B$2:$C$9"'查找所有本Sheet中的所有图表,然后删除Dim itSheet As WorksheetSet itSheet = ActiveSheetFor i = 1 To itSheet.Shapes.CountIf itSheet.Shapes.Item(i).Type = msoChart ThenitSheet.Shapes.Item(i).DeleteEnd IfNext'插入图表Dim itShapes As ShapeSet itShapes = itSheet.Shapes.AddChart2(332, xlLineMarkers) '这里使用的折线图Dim itChart As ChartSet itChart = itShapes.ChartitChart.SetSourceData Source:=Range(strRange) '图表的数据源itChart.PlotBy = xlColumns 'X轴由列产生itChart.SetElement (msoElementLegendRight) '在右侧添加图例'将图表左上角放置在E4单元格的左上角itShapes.Left = Cells(4, 5).LeftitShapes.Top = Cells(4, 5).TopEnd Sub

使用说明

1、为了方便演示,我在Sheet中添加了一个按钮,上述代码中将IDE自动生成的按钮点击事件代码部分也放进来了,实际应用时请自行调整。

2、在“定义数据区”部分,我将数据区手动写进了代码中,可以在实际应用中增加自动适应数据区的代码。

3、有的时候只有实际应用后才知道要先查找本Sheet中原有的所有图表并删除,否则就重复太多,消耗系统资源。

4、本案例为大家演示折线图的生成,本想着为大家总结各个图表的对应的常量文章,但是Excel的图表太多了,而且只看列表也不直观,建议先手动尝试哪种图表适合自己,然后再录制宏。

5、请点击下载本文附件

如有意见建议或使用中出现Bug请留言,谢谢!

如果觉得《【Excel VBA】使用代码生成图表——Chart和Shape的使用方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。