VBA与Excel进阶系列-02-图表(中篇)

系统:Windows 7
软件:Excel 2010

  • 这个系列作为入门篇的下一篇,稍微进阶一下,嘿嘿
  • 今天继续VBA对图表的操作,折线图作为示例
  • 研究研究着发现VBA中对象的概念简直醉

Part 1:目标

  1. 为了方便调试,写了一段代码自动删除所有图表
  2. 完成对一个折线图其中的一条线进行设置
    • 线条颜色设置
    • 线型设置
    • 数据标记选项设置
    • 数据标记填充
    • 标记线颜色设置
  3. 整体代码的设置,采用手动设置的话,可选中需设置线条,右键设置数据系列格式即可,如下图

右键效果
这里写图片描述

最终运行后效果
这里写图片描述

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:G4")
    ch1.Chart.SetElement (msoElementDataLabelOutSideEnd)
    ch1.Chart.SetElement (msoElementChartTitleNone)
    ch1.Chart.SetElement (msoElementLegendTop)

    'chart属性
    ch1.Chart.ChartType = xlLineMarkers

    Set line1 = ch1.Chart.SeriesCollection("y")

    '设置其中的一条线
    With line1
        .MarkerStyle = xlMarkerStyleCircle
        .MarkerSize = 7
    End With

    With line1.Format.Line  '设置线条颜色
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0) '红色
        .DashStyle = msoLineDash
        .Weight = 3
    End With

    '设置标记线颜色及填充色
    line1.MarkerForegroundColor = RGB(0, 255, 0) '标记线颜色
    line1.MarkerBackgroundColor = RGB(0, 0, 0)  '填充色

End Sub

代码截图
这里写图片描述

Part 3:部分代码解读

  1. Set line1 = ch1.Chart.SeriesCollection("y")效果的话,类似选中其中的一条线,其中的y为其图例名称
  2. MarkerStyle设置数据标记选项,常见的选项如下图
  3. line1.MarkerForegroundColor设置标记线颜色,即线条中那个圆圈外圆的颜色
  4. line1.MarkerBackgroundColor设置标记填充色,即线条中那个圆圈圆内的填充颜色
  5. DashStyle = msoLineDash设置线型
  6. Weight = 3设置线的宽度
  7. 对于标记的外圆的线条会默认保持与线条的线型与宽度一致

数据标记选项
这里写图片描述

Part 4:删除图表

  1. 文章中有些知识,我之前也是不知的,需要不断尝试,所以会画了很多图表,就想能不能一次清除,所以就有下面的代码
  2. 代码如下
Sub 清除()
    Set sht1 = ThisWorkbook.Worksheets("示例")
    n = sht1.ChartObjects.Count
    If n > 0 Then
        sht1.ChartObjects.Delete
    End If
End Sub

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

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


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

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

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值