各位亲爱的小伙伴们,今天我们来学习在Excel中制作一款可自动运行的动态图表,我们先来看下方的演示,我们点击“开始”按钮后,图表会自动进行切换,在切换的过程中,你也可以按下“暂停”键,让图表停止动态切换;这样的效果是不是特别酷呢?今天我们就来学习制作它的详细步骤。注意前方高能,需使用到VBA宏代码。如果你有这方面的基础,理解起来应该不会太难哦!
效果演示
第1步:准备数据源:只是普通的表格数据,按公司及年份列示销售额数据,没有任何公式或函数;
数据源表格
第2步:构建辅助数据
- 在M3输入2018;
- 选中M4:M10单元格,在公式栏输入公式:=OFFSET(A4:A10,,MATCH($M$3,$B$3:$J$3,0),,),按CTRL+SHIFT+ENTER三键输入数组公式;
- 选中O4单元格,输入公式:=M4+RAND()/1000000000,向下拖拉公式到O10单元格。注:这一步的目的是在源数据上加一个很小的数,避免产生重复值;
- 选中L4单元格,输入公式:=RANK(O4,$O$4:$O$10),向下拖拉公式到L10单元格。
辅助数据
第3步:构建图表数据源
- 选中M14单元格,输入公式:=VLOOKUP(L14,$L$4:$N$10,2,0),向下拖拉公式到M20单元格。
- 选中O14单元格,输入公式:=IF(N14="本公司",M14,NA()),向下拖拉公式到O20单元格。
图表源
第4步:引用图表数据源制作柱形图
- 插入柱形图;
- 分别添加2个系列,用于显示相应年份各公司的数据和突显本公司的数据;
- 将公司名称添加到水平轴上;
- 设置数据系列格式,将重叠度设置为:100%;
- 添加一个文本框,在公式栏中输入:=$M$3,让其可以动态显示年份;
制作柱形图
第5步:插入命令按钮控件;
从开发工具选项卡--插入--ActiveX控件中找到命令按钮,在图表区域中画出即可;
插入命令按钮
第6步:写入VBA代码;
双击命令按钮,进行代码输入,并记得将文件保存为启用宏的工作薄,即可大功告成!
Private Sub CommandButton1_Click()
Static blnProcessing As Boolean
If blnProcessing Then
blnProcessing = False
CommandButton1.Caption = "开始"
Else
CommandButton1.Caption = "暂停"
blnProcessing = True
For i = 2010 To 2018
Range("M3").Value = i
t = Timer
Do While (Timer < t + 1) And blnProcessing
DoEvents
Loop
If Not blnProcessing Then Exit Sub
Next
blnProcessing = False
CommandButton1.Caption = "开始"
End If
End Sub
录入代码
总结:动态图表制作并不难,关键是要熟悉函数和图表的运用。如果需要让图表自动运行,则需要借助VBA的功能;如果你需要今天教程所使用的课件,你可以私信回复“自动运行”即可获取。