本文主要介紹如何將動畫應用于商業(yè)圖表,如下圖1所示。
圖1
制作圖表的示例數(shù)據(jù)如下圖2所示的工作表:
圖5
其中,old和switch_to_record是在運行VBA代碼時添加的。
VBA代碼如下:
PrivatebFinished As Boolean
PublicSub AnimateChart()
Dim i As Integer
bFinished = False
ThisWorkbook.Names.Add “old”,[chart_values]
ThisWorkbook.Names.Add”switch_to_record”, [record_index].Value
If [b_animation] Then
For i = 1 To [animation_steps]
[step] = i
DoEvents
If bFinished Then Exit For
Next i
End If
bFinished = True
EndSub
PublicSub ChangeChartType()
Const CHART_TYPE_COLUMN = 1
Const CHART_TYPE_LINE = 2
Const CHART_TYPE_AREA = 3
WithWorksheets(“demo”).ChartObjects(1).Chart
Select Case [chart_type]
Case CHART_TYPE_COLUMN
.ChartType = xlColumnClustered
Case CHART_TYPE_LINE
.ChartType = xlLineMarkers
Case CHART_TYPE_AREA
.ChartType = xlArea
End Select
End With
EndSub
其中,ChangeChartType過程關聯(lián)到選項按鈕,用于更改圖表類型;AnimateChart過程關聯(lián)到下拉框,用于實現(xiàn)選擇不同數(shù)據(jù)時的圖表動畫效果。
最后的效果如下圖6所示。
圖6