- 相關(guān)推薦
財務(wù)分析中動態(tài)圖表模型的設(shè)計與應(yīng)用
一、引言財務(wù)是指以財務(wù)報表的有關(guān)數(shù)據(jù)資料為依據(jù),對一定時期的財務(wù)狀況和經(jīng)營成果進(jìn)行分析,以評價、判定企業(yè)在經(jīng)營過程中的利弊得失、財務(wù)狀況及猜測趨勢,為改進(jìn)企業(yè)未來財務(wù)治理工作提出整改舉措的書面報告。其作用在于為企業(yè)治理者提供財務(wù)分析信息,促進(jìn)企業(yè)內(nèi)部治理;為企業(yè)外部投資者提供決策依據(jù);為提供企業(yè)財務(wù)信息,促進(jìn)證券市場的正常運(yùn)行。這種治理活動量化分析的書面報告有文字、表格和圖表等多種表現(xiàn)形式,其中圖表是提供信息的一條有效途徑。通過圖表可以迅速、正確的獲得大量的信息。與普通的數(shù)據(jù)表格相比,采用圖表形式將使得枯燥乏味的數(shù)據(jù)資料變得有趣、形象、直觀且易于理解,尤其適宜于各級治理者使用,并促使治理者發(fā)現(xiàn)數(shù)據(jù)間細(xì)微的差別,從而挖掘治理新思路。
在Microsoft Office 2000軟件包的組件之一Excel 2000中,提供了功能強(qiáng)大的圖表繪制工具,使得創(chuàng)建各式各樣的圖表變得快捷和輕易。但是,這一工具對于普通的用戶來說存在兩點(diǎn)不便之處:①用戶必須學(xué)會使用Excel 2000中的圖表繪制工具;②圖表繪制工具是以插進(jìn)的形式天生各種圖表,若要對同一數(shù)據(jù)源的數(shù)據(jù)表格從不同的角度分析,還要以不同的圖表類型(如柱型圖、折線圖等)表現(xiàn)時,必然導(dǎo)致天生眾多的圖表,不便于瀏覽,不便于在同一圖表上觀察和分析財務(wù)數(shù)據(jù)。動態(tài)圖表可以克服上述兩處缺點(diǎn)。所謂動態(tài)圖表是指在同一圖表中天生從某一數(shù)據(jù)源不同角度分析獲得的不同類型的圖表,而無需用戶把握圖表繪制工具的使用。顯然,這會給財務(wù)分析帶來極大的便利。本文旨在對動態(tài)圖表模型的設(shè)計思想和實例作深進(jìn)的探討,供同行。
二、動態(tài)圖表模型的設(shè)計思想
眾所周知,構(gòu)成Excel 2000中圖表的兩個主要元素是“繪圖區(qū)域”(即來自工作表的“數(shù)據(jù)源”,下同)和“圖表類型”。假如這兩個主要元素能夠在繪制一張單一的圖表時動態(tài)地天生,那么,動態(tài)圖表模型的設(shè)計就迎刃而解了。
因此,動態(tài)圖表模型設(shè)計思想的核心是:充分利用Excel 2000中的“宏技術(shù)”和VBA(Vsiual Basic for Application)編程技術(shù),使得對單一圖表的“繪圖區(qū)域”和“圖表類型”可根據(jù)用戶的選擇動態(tài)地天生。
為此,應(yīng)先在工作表中插進(jìn)一張任意類型的基本圖表,然后設(shè)計一個“確定圖表選項”按鈕,在此按鈕彈出的“繪圖選項”窗口中,可根據(jù)用戶的選擇動態(tài)地天生基本圖表的“繪圖區(qū)域”(即“數(shù)據(jù)源”)和“圖表類型”。如圖1和圖2所示。圖1表格中的陰影部分即“繪圖區(qū)域”,是用戶在圖2中選擇的繪圖區(qū)域(“三季度”)。其中“銷售地區(qū)”是用戶“選擇數(shù)據(jù)列”時的必然選項,若用戶“選擇數(shù)據(jù)行”,則“銷售季度”是其必然選項,二者均在程序中予以確定。圖1中的圖表部分即動態(tài)圖表。由于在圖2中選擇的“圖表類型”是“圓餅圖”,放在“選擇數(shù)據(jù)行”或“選擇數(shù)據(jù)列”中的“銷售地區(qū)”或“銷售季度”均以單選鈕的形式出現(xiàn),由于“圓餅圖”只能描繪一個數(shù)據(jù)系列。若用戶選擇的“圖表類型”是“折線圖”或“柱型圖”,則前述二者均以復(fù)選框的形式出現(xiàn),同時,圖表也將以用戶復(fù)選確定的繪圖區(qū)域被繪制。這些均在程序中加以控制。
三、動態(tài)圖表模型的設(shè)計實例
為實現(xiàn)上述設(shè)計思想、建立動態(tài)圖表模型,應(yīng)完成以下設(shè)計步驟。
1.進(jìn)進(jìn)Excel 2000后,命名一個工作表為“動態(tài)圖表”,并在該工作表中建立一個模擬的“銷售情況表”,如圖1中的表格部分。為增加程序的可讀性和繪圖區(qū)域的動態(tài)擴(kuò)展,模型中將命名一些區(qū)域。如表所示。
2、在表格下面插進(jìn)一張圖表,如插進(jìn)反映全部銷售情況的“柱型圖”,適當(dāng)調(diào)整其大小并設(shè)置其格式為所需要的格式。以后天生的動態(tài)圖表均以此格式為標(biāo)準(zhǔn)格式。
3、在圖表右側(cè)填加一以自選圖形表示的“確定圖表選項”的命令按鈕,并為其指定宏代碼如下:
Sub 確定繪圖選項0
繪圖選項窗口.Show
End Sub
4、在Visual Basic編輯器中,插進(jìn)一用戶窗體并命名為“繪圖選項窗口”。
5、在“繪圖選項窗口”中,從“視圖”→“工具箱”填加所需控件,這些控件包括分組框、列表框、選項按鈕、命令按鈕等,并以漢字將它們分別標(biāo)識(Caption)和命名(Name),以便識別和增強(qiáng)程序的可讀性。如圖2所承。
6、設(shè)置列表框“行選擇”的Rowsource屬性為A3:A7,參照圖1。
7、設(shè)置列表框“列選擇”的Rowsource 屬性為A9:A13(其中存放的是利用數(shù)組公式{TRAMS-POSE(B2:F2)}返回的轉(zhuǎn)秩矩陣,即“一季度”,……,“地區(qū)合計”)。
8、按 ALT+F11鍵,在Visual Basic編輯器中,雙擊“窗體”的“繪圖選項窗口”,為相應(yīng)的控件建立以下8段程序代碼。
Private Sub userform_Initialize()’用戶窗口初始化
行選擇.Enabled=False
列選擇.Enabled=True
End Sub
Private Sub取消Click()’“取消”按鈕的Click事件代碼
繪圖選項窗口.Hide’隱躲繪圖選項窗口
End Sub
Private Sub確定_Click()’“確定”按鈕的Click事件代碼
Activesheet.ChartObjects(“圖表56”).Activate’圖表56”是系統(tǒng)自動為插進(jìn)的圖表所作的命名,該圖表即為動態(tài)圖表區(qū)域。
ActiveChart.ChartArea.Seect Dim選擇季度(4),選擇地區(qū)(4)’定義兩個存放區(qū)域名稱的數(shù)組
If選擇數(shù)據(jù)列.Value=True n條件語句用于判定用戶點(diǎn)擊的是“選擇數(shù)據(jù)行”還是“選擇數(shù)據(jù)列”,以便產(chǎn)生不同的繪圖區(qū)域。
選擇季度(0)=“一季度”:選擇季度(1)=“二季度”
選擇季度(2)=“三季度”:選擇季度(3)=”四季度”
選擇季度(4)=”地區(qū)合計”
繪圖區(qū)域=“銷售地區(qū)”
For I=0 To 4 ’循環(huán)語句用于動態(tài)產(chǎn)生“繪圖區(qū)域”
If列選擇.Selected(I)=True Then ’所應(yīng)包含的區(qū)域名稱字符串。
繪圖區(qū)域=繪圖區(qū)域+“,”+選擇季度(I)’
Debug.Print繪圖區(qū)域
End If
Next I
繪圖選項窗口.Hide
ActiveChart.SetSourceData Source:=Sheets(“動態(tài)圖表”).Range(繪圖區(qū)域),_
PlotBy:=xlColumns’圖表數(shù)據(jù)產(chǎn)生于列。
ElseIf選擇數(shù)據(jù)行.Value=True Then
選擇地區(qū)(0)=“東北”:選擇地區(qū)(1)=“西北”
選擇地區(qū)(2)=“華東”:選擇地區(qū)(3)=“西南”
選擇地區(qū)(4)=“季度合計”
繪圖區(qū)域=“銷售季度”
For I=0 To 4’循環(huán)語句用于動態(tài)產(chǎn)生“繪圖區(qū)域”
If行選擇.Selected(I)=True Then’所應(yīng)包含的區(qū)域名稱字符串。
繪圖區(qū)域=繪圖區(qū)域+“,”+選擇地區(qū)(I)
‘Debug.Print繪圖區(qū)域
End If
Next I
繪圖選項窗口.Hide
Active Chart.SetSourceData Source:=Sheets(“動態(tài)圖表”).Range(繪圖區(qū)域),-
PlotBy:=xlRows’圖表數(shù)據(jù)產(chǎn)生于行
End If
ActiveChart.Locaation Where:=xlLocationAsObject,Name:=“動態(tài)圖表”
With ActiveChart
If圓餅圖.Value=True Then
.HasTitle=True
Else
.HasTitle=False
End If
.Axes(xlCategory,xlPrimary).HasTitle=False
.Axes(xlValue,xlPrimary).HasTitle=False
End With
Range(繪圖區(qū)域).Select
End Sub
Private Sub折線圖_Click 0
行選擇.MultiSelect=fmMultiSelectMulti
列選擇.MultiSelect=fmMultiSelectMulti
ActiveSheet.ChartObjects(“圖表56”).Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartType=xlLineMarkers
ActiveChart.ApplyDataLabels Type:=xlDataLa-belsShowNone
End Sub
Private Sub柱型圖_Click()
行選擇.MultiSelect=fmMultiSelectMulti
列選擇.Multiselect=fmMultiSelectMulti
ActiveSheet.ChartObjects(“圖表56”).Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartTye=xlColumnClustered
ActiveChart.ApplyDataLabels Type:=xlDatala-belsShowNone
End Sub
Private Sub圓餅圖_Click ()
行選擇.MultiSelect=fmMultiSelectSingle
列選擇.MultiSelect=fmMultiSelectSingle
ActiveSheet.ChartObjects(“圖表56”).Activate
ActiveChaft.ChartArea.Select
ActiveChart.ChartType=xl3DPie
ActiveChart.ApplyDataLabels Type:=xlDataLa-belsShowPercent
End Sub
Private Sub選擇數(shù)據(jù)列_Click()
If圓餅圖.Value=True n
列選擇.MultiSelect=fmMultiSelectSingle
’設(shè)置列選擇的MultiSelect屬性為單選。
Else
列選擇.MultiSelect=fmMultiSelectMulti
’設(shè)置列選擇的Multiselect屬性為復(fù)選。
End If
行選擇.Enabled=False
列選擇.Enabled=True
End Sub
Private Sub選擇數(shù)據(jù)行_Click()
If圓餅圖.Value=True Then
行選擇.MultiSelect=fmMultiSelectSingle
’設(shè)置行選擇的MultiSelect屬性為單選。
Else
行選擇.MultiSelect=fmMultiSelectMulti’設(shè)置行選擇的MultiSelect屬性為復(fù)選。
End If
行選擇.Enabled=True
列選擇.Enabled=False
End Sub
注釋:上述代碼段中,程序行末尾單引號后的為程序注釋行。
四、結(jié)束語
上述模型的建立假定讀者已把握Excel 2000的基本操縱和宏代碼、事件代碼的建立。實際上,若讀者對VBA的編程不熟悉,則完全可以通過宏的定義和閱讀來和把握VBA的程序結(jié)構(gòu)和命令語句。甚至可以根據(jù)需要,通過復(fù)制定代碼來建立和編輯上述代碼段,從而減少代碼的輸進(jìn)錯誤。在模型建立完成后,刪除不需要的宏即可。需要說明的是,該模型的建立固然以一個示例為背景,但動態(tài)圖表模型的設(shè)計思想具有普遍意義。讀者可以按照本文的設(shè)計思想,根據(jù)財務(wù)中對動態(tài)圖表的具體需求,擴(kuò)展模型的設(shè)計結(jié)構(gòu),使其更具有一般性和通用性,更符合實際財務(wù)分析的需要。
【財務(wù)分析中動態(tài)圖表模型的設(shè)計與應(yīng)用】相關(guān)文章:
基礎(chǔ)會計教學(xué)中圖表應(yīng)用的探討03-25
成本分析中“因素分析模型”的研究03-22
財務(wù)分析在企業(yè)重組中的應(yīng)用03-22
植物在園林景觀設(shè)計中應(yīng)用分析03-07
EVA模型在電網(wǎng)企業(yè)中的應(yīng)用探討03-24
新興指標(biāo)在財務(wù)預(yù)警中的應(yīng)用分析03-20
稀土在電鍍中的應(yīng)用分析03-18
論聚類分析在市場分析中的應(yīng)用03-19
談聚類分析在市場分析中的應(yīng)用03-18