VBA与Excel进阶系列-01-图表(上篇)

xiaoxiao2021-02-28  120

系统:Windows 7 软件:Excel 2010

这个系列作为入门篇的下一篇,稍微进阶一下,嘿嘿今天讲讲如何通过VBA自动按要求插入图表如果你想你的Excel自动出图表,那么这个知识点不可或缺

Part 1:目标

在某一个单元格插入柱形图,要求图表大小与单元格完全一致不显示图例不显示图表标题设置数据标签:数据标签外

原单元格

Part 2:代码

Sub test() Set sht1 = ThisWorkbook.Worksheets("示例") x = sht1.Range("I1").Left y = sht1.Range("I1").Top w = sht1.Range("I1").Width h = sht1.Range("I1").Height Set ch1 = sht1.ChartObjects.Add(x, y, w, h) 'chart方法 ch1.Chart.SetSourceData Source:=sht1.Range("A2:G3") '设置数据源 ch1.Chart.SetElement (msoElementDataLabelOutSideEnd) '设置数据标签 ch1.Chart.SetElement (msoElementChartTitleNone) '设置图表标题 'chart属性 ch1.Chart.ChartType = xlColumnClustered '设置图表类型 ch1.Chart.Legend.Delete '设置图例 End Sub

运行后效果

Part 3:部分代码解读

sht1.ChartObjects.Add(x, y, w, h)增加一个chartobjects对象 ChartObject 对象充当 Chart 对象的容器。ChartObject 对象的属性和方法控制工作表上嵌入图表的外观和大小【官方解释】这里面的x, y, w, h非常关键,控制了图表的位置和大小,x,y控制图表左上角位置,w,h控制图表大小(宽度和高度)ch1.Chart.ChartType = xlColumnClustered设置图表类型 xlColumnClustered柱形图xlLine折线图xlLineMarkers带数据标记的折线图理论上来讲所有在Excel界面可以增加的图,都有对应的VBA代码,但是我没有去一一核实具体可以搜索官方文档XlChartType,指定图表类型ch1.Chart.SetElement(MsoChartElementType)很多图表的属性都可以通过此方法来设置,例如图例位置,标题位置 具体可以搜索官方文档MsoChartElementType,指定是否显示图表元素以及如何显示【官方解释】

XlChartType可选类型

Excel常见图表

MsoChartElementType可选类型


以上为本次的学习内容,下回见

本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出


更多原创请关注微信公众号

扫描二维码,关注公众号 让重复工作一键化,让时间更有意义

转载请注明原文地址: https://www.6miu.com/read-20786.html

最新回复(0)