• 系统环境:Windows 10
  • Excel:2016版本


这个系列集锦一些常用的功能模块,在一些项目中会穿插应用

功能模块中又包括很多子模块,本文涉及的是:图表


动态变更图表对应数据源



Part 1:场景介绍

    1. 做好了一张图表,下次有数据更新的时候,但是数据量和原来的不一样
    2. 当然通过手动可以重新选择数据源,但是如果是频繁的,也很烦
    3. 今天介绍点不一样的,通过VBA来实现

图1 动图



Part 2:代码

Sub 图表1() Set sht = ThisWorkbook.Worksheets("示例") Set chart1 = sht.ChartObjects("图表 1") Set rng1 = sht.Range("A2:G3") chart1.Chart.SetSourceData Source:=rng1 End Sub Sub 图表2() Set sht = ThisWorkbook.Worksheets("示例") Set chart1 = sht.ChartObjects("图表 1") Set rng1 = sht.Range("A5:J6") chart1.Chart.SetSourceData Source:=rng1 End Sub


图2 代码截图



Part 3:部分代码解读

      1. chart1.Chart.SetSourceData Source:=rng1,设置图表数据源为rng1
      2. 所以如果你将rng1设置成动态,则可以实现你想要的图表变化
      3. 关于rng1的变化可以考虑使用End (xlToLeft)找到某一行的最大列




Part 4:按钮设置

  1. 在示例工作表中设置两个按钮(开发工具-插入-按钮
  2. 右键按钮指定对应宏即可


图3 按钮


图4 添加按钮



以上,为本次的介绍内容,下回见。

本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条