今天又被学生提问,可不可以在PPT中做类似Excel中的动态图表?Excel里实现动态图表的方法通常是将图表关联到一个固定的数据区域,然后通过其他单元格的值或者控件来改变该固定区域的数据,以达到动态改变图表显示的目的。
然而在PPT中是无法直接变动图表数据源表格中的数值的,所以PPT要实现类似Excel的动态图表需要使用VBA代码来达成。以下代码只是一个很简单的演示示例,其效果就是:当演示当前PPT页面时,点击组合框,会将饼图的源数据进行修改以达到实现动态效果。
1 Dim wk As Object, ws As Object 2 3 Private Sub ComboBox1_Click() 4 Set wk = Me.Shapes(1).Chart.ChartData.Workbook 5 Set ws = wk.worksheets("sheet1") 6 If ComboBox1.Value = "销售额" Then 7 For i = 2 To 5 8 ws.Range("F" & i) = ws.Range("B" & i) 9 Next 10 Else 11 For i = 2 To 5 12 ws.Range("F" & i) = ws.Range("C" & i) 13 Next 14 End If 15 16 End Sub 17 18 Private Sub ComboBox1_DropButtonClick() 19 With ComboBox1 20 .Clear 21 .AddItem "销售额" 22 .AddItem "比例" 23 End With 24 End Sub