系统: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可选类型
以上为本次的学习内容,下回见
本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出
更多原创请关注微信公众号
扫描二维码,关注公众号
让重复工作一键化,让时间更有意义