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

系统:Windows 7
软件:Excel 2010

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

Part 1:目标

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

原单元格
这里写图片描述

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:部分代码解读

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

XlChartType可选类型
这里写图片描述

Excel常见图表
这里写图片描述

MsoChartElementType可选类型
这里写图片描述


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

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


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

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

这里写图片描述

  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值