办公小技巧:PPT图表也能实现交互效果

CFan 《电脑爱好者》2018年第19期 2019-02-21 08:45应用 标签:图表 技巧 办公

在PPT中实现图表的交互效果可不是一件轻松的事,但如果使用一小段VBA代码,将Excel数据与图表连接起来,不轻松的事也变得轻松了。有了Excel数据与图表的连接,通过表单控件中的下拉菜单,就可以在图表中根据菜单选择,突出显示所需要的数据图表。

1802A-PPTJHTB-1

小提示:以下操作均在PPT2016中完成。

1. 插入PPT图表

新建空白幻灯片文件,选择“插入”选项卡,点击“对象”,在弹出的窗口中选择“新建”,选定对象类型中的“Microsoft Excel Chart”,确定后,就会打开一个Excel窗口,在Chart1中右击图表,选择“更改图表类型”,在弹出窗口中选择所需要的折线图;再点击与这个图表数据相关联的Sheet1工作表,在工作表中输入或粘贴好自己所需要的数据,这样图表也会根据输入的数据发生相应的改变。

1802A-PPTJHTB-2

在Sheet1工作表的相应空白单元格(如A13),设置一个下拉菜单。选定A13,选择“数据”选项卡,点击“数据验证”下的“数据验证”,在弹出窗口“设置”选项卡的允许处选择“序列”,来源处选择A2:A11单元格区域,这样就在A13单元格形成了一个下拉菜单。接下来,在B13单元格中输入“=INDEX(B2:B11,MATCH($A$13,$A$2:$A$11,0))”,这样就会根据A13单元格的值在B13得到相应产品1月份的销售值。拖动向右填充到M13,从而得到产品在1-12月的销售值。

1802A-PPTJHTB-3

接下来,点击Chart1,切换到图表工作表,分别右击每个折线图,选择“设置数据系列格式”,将它们的颜色设置为灰色;右击图表,选择“选择数据”,在弹出窗口图例项处点击“添加”,在新弹出窗口系列名称处输入“突出显示”,在系列值处选择Sheet1中的B13:M13单元格区域,将新添加的折线图颜色设置为红色,2磅,删除图例。

1802A-PPTJHTB-4

2. 设置下拉列表控件

在Excel编辑窗口,点击Chart1,使图表窗口处于当前窗口。在空白处单击后,就会回到PPT编辑窗口。选择“开发工具”选项卡,点击控件中的“列表框”,在幻灯片的合适位置,拖动鼠标,画出一个列表框,选中此列表框,点击“属性”,在弹出窗口设置好BackColor、BorderColor等代表背景色和前景色的属性。

1802A-PPTJHTB-5

3. 插入VBA代码

在“开发工具”选项卡中点击“Visual Basic”,在弹出窗口的编辑区中输入如下VBA代码。(代码下载: https://pan.baidu.com/s/1c1BYXB6 密码: mf89)

Option Explicit

'声明公共变量

Dim Wb As Object, Sh As Object, SouceRng As Object, TarCell As Object

Private Sub ListBox1_GotFocus()

Dim i As Integer

Set Wb = Me.Shapes(1).OLEFormat.Object

Set Sh = Wb.worksheets("Sheet1")

Set SouceRng = Sh.Range("A2:A11")

Set TarCell = Sh.Range("A13")

With ListBox1

If .ListCount > 0 Then

.ListIndex = -1

For i = .ListCount - 1 To 0 Step -1

.RemoveItem i

Next i

End If

For i = 1 To SouceRng.Count

.AddItem SouceRng.Offset(i - 1, 0).Range("A1")

Next i

.ListIndex = 0

TarCell = .Value

End With

End Sub

Private Sub ListBox1_LostFocus()

Set TarCell = Nothing

Set SouceRng = Nothing

Set Sh = Nothing

Set Wb = Nothing

End Sub

Private Sub ListBox1_change()

TarCell = ListBox1.Value

End Sub

1802A-PPTJHTB-6

建立VBA代码后,就在列表框ListBox1与图表间建立了联系,而这个联系实际上是列表框与Sheet1工作表中单元格之间建立的联系,当列表框所选值发生变化时,就会把该值传递给Sheet1中的A13单元格,A13的值变化了,那么相应的B13:M13的值也会发生相应变化,从而图表中突出显示的折线也就进行相应的变化。

4. 装饰图表、控件

以上操作完成后,可以利用文本框给图表添加上标题(当然也可以在Excel中利用“添加图表元素”来操作),利用形状填充、形状轮廓等进行美化设置;而对于列表框则可以利用它的属性对话进行进一步设置。

最后,在保存文件时,保存类型处要选择“启用宏的PowerPoint演示文稿(*.pptm)”(这里指的是在PowerPoint 2016中制作时),而在其他低版本制作中要设置自己的宏安全性为“低”。

小提示:进入演示状态,需要点击列表框,方可出现列表菜单进行演示,并且演示完一遍后,需关闭文件后再打开方能重新演示。