24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠

安卓版本:8.7.30 蘋果版本:8.7.30

開發(fā)者:北京正保會(huì)計(jì)科技有限公司

應(yīng)用涉及權(quán)限:查看權(quán)限>

APP隱私政策:查看政策>

HD版本上線:點(diǎn)擊下載>

財(cái)務(wù)分析中動(dòng)態(tài)圖表模型的設(shè)計(jì)與應(yīng)用

來(lái)源: 編輯: 2005/06/28 10:21:41  字體:
  一、引言

  財(cái)務(wù)分析是指以財(cái)務(wù)會(huì)計(jì)報(bào)表的有關(guān)數(shù)據(jù)資料為依據(jù),對(duì)一定時(shí)期企業(yè)的財(cái)務(wù)狀況和經(jīng)營(yíng)成果進(jìn)行分析,以評(píng)價(jià)、判斷企業(yè)在經(jīng)營(yíng)過(guò)程中的利弊得失、財(cái)務(wù)狀況及預(yù)測(cè)發(fā)展趨勢(shì),為改進(jìn)企業(yè)未來(lái)財(cái)務(wù)管理工作提出整改舉措的書面報(bào)告。其作用在于為企業(yè)管理者提供財(cái)務(wù)分析信息,促進(jìn)企業(yè)內(nèi)部管理;為企業(yè)外部投資者提供決策依據(jù);為社會(huì)提供企業(yè)財(cái)務(wù)信息,促進(jìn)證券市場(chǎng)的正常運(yùn)行。這種管理活動(dòng)量化分析的書面報(bào)告有文字、表格和圖表等多種表現(xiàn)形式,其中圖表是提供信息的一條有效途徑。通過(guò)圖表可以迅速、準(zhǔn)確的獲得大量的信息。與普通的數(shù)據(jù)表格相比,采用圖表形式將使得枯燥乏味的數(shù)據(jù)資料變得有趣、形象、直觀且易于理解,尤其適宜于各級(jí)管理者使用,并促使管理者發(fā)現(xiàn)數(shù)據(jù)間細(xì)微的差別,從而挖掘管理新思路。

  在Microsoft Office 2000軟件包的組件之一Excel 2000中,提供了功能強(qiáng)大的圖表繪制工具,使得創(chuàng)建各式各樣的圖表變得快捷和容易。但是,這一工具對(duì)于普通的用戶來(lái)說(shuō)存在兩點(diǎn)不便之處:①用戶必須學(xué)會(huì)使用Excel 2000中的圖表繪制工具;②圖表繪制工具是以插入的形式生成各種圖表,若要對(duì)同一數(shù)據(jù)源的數(shù)據(jù)表格從不同的角度分析,還要以不同的圖表類型(如柱型圖、折線圖等)表現(xiàn)時(shí),必然導(dǎo)致生成眾多的圖表,不便于瀏覽,不便于在同一圖表上觀察和分析財(cái)務(wù)數(shù)據(jù)。動(dòng)態(tài)圖表可以克服上述兩處缺點(diǎn)。所謂動(dòng)態(tài)圖表是指在同一圖表中生成從某一數(shù)據(jù)源不同角度分析獲得的不同類型的圖表,而無(wú)需用戶掌握?qǐng)D表繪制工具的使用。顯然,這會(huì)給財(cái)務(wù)分析帶來(lái)極大的便利。本文旨在對(duì)動(dòng)態(tài)圖表模型的設(shè)計(jì)思想和應(yīng)用實(shí)例作深入的探討,供同行參考。

  二、動(dòng)態(tài)圖表模型的設(shè)計(jì)思想

  眾所周知,構(gòu)成Excel 2000中圖表的兩個(gè)主要元素是“繪圖區(qū)域”(即來(lái)自工作表的“數(shù)據(jù)源”,下同)和“圖表類型”。如果這兩個(gè)主要元素能夠在繪制一張單一的圖表時(shí)動(dòng)態(tài)地生成,那么,動(dòng)態(tài)圖表模型的設(shè)計(jì)問(wèn)題就迎刃而解了。

  因此,動(dòng)態(tài)圖表模型設(shè)計(jì)思想的核心是:充分利用Excel 2000中的“宏技術(shù)”和VBA(Vsiual Basic for Application)編程技術(shù),使得對(duì)單一圖表的“繪圖區(qū)域”和“圖表類型”可根據(jù)用戶的選擇動(dòng)態(tài)地生成。

  為此,應(yīng)先在工作表中插入一張任意類型的基本圖表,然后設(shè)計(jì)一個(gè)“確定圖表選項(xiàng)”按鈕,在此按鈕彈出的“繪圖選項(xiàng)”窗口中,可根據(jù)用戶的選擇動(dòng)態(tài)地生成基本圖表的“繪圖區(qū)域”(即“數(shù)據(jù)源”)和“圖表類型”。如圖1和圖2所示。圖1表格中的陰影部分即“繪圖區(qū)域”,是用戶在圖2中選擇的繪圖區(qū)域(“三季度”)。其中“銷售地區(qū)”是用戶“選擇數(shù)據(jù)列”時(shí)的必然選項(xiàng),若用戶“選擇數(shù)據(jù)行”,則“銷售季度”是其必然選項(xiàng),二者均在程序中予以確定。圖1中的圖表部分即動(dòng)態(tài)圖表。由于在圖2中選擇的“圖表類型”是“圓餅圖”,放在“選擇數(shù)據(jù)行”或“選擇數(shù)據(jù)列”中的“銷售地區(qū)”或“銷售季度”均以單選鈕的形式出現(xiàn),因?yàn)椤皥A餅圖”只能描繪一個(gè)數(shù)據(jù)系列。若用戶選擇的“圖表類型”是“折線圖”或“柱型圖”,則前述二者均以復(fù)選框的形式出現(xiàn),同時(shí),圖表也將以用戶復(fù)選確定的繪圖區(qū)域被繪制。這些均在程序中加以控制。

  三、動(dòng)態(tài)圖表模型的設(shè)計(jì)實(shí)例

  為實(shí)現(xiàn)上述設(shè)計(jì)思想、建立動(dòng)態(tài)圖表模型,應(yīng)完成以下設(shè)計(jì)步驟。

  1.進(jìn)入Excel 2000后,命名一個(gè)工作表為“動(dòng)態(tài)圖表”,并在該工作表中建立一個(gè)模擬的“銷售情況表”,如圖1中的表格部分。為增加程序的可讀性和繪圖區(qū)域的動(dòng)態(tài)擴(kuò)展,模型中將命名一些區(qū)域。如表所示。

  2、在表格下面插入一張圖表,如插入反映全部銷售情況的“柱型圖”,適當(dāng)調(diào)整其大小并設(shè)置其格式為所需要的格式。以后生成的動(dòng)態(tài)圖表均以此格式為標(biāo)準(zhǔn)格式。

  3、在圖表右側(cè)填加一以自選圖形表示的“確定圖表選項(xiàng)”的命令按鈕,并為其指定宏代碼如下:

  Sub 確定繪圖選項(xiàng)0

  繪圖選項(xiàng)窗口。Show

  End Sub

  4、在Visual Basic編輯器中,插入一用戶窗體并命名為“繪圖選項(xiàng)窗口”。

  5、在“繪圖選項(xiàng)窗口”中,從“視圖”→“工具箱”填加所需控件,這些控件包括分組框、列表框、選項(xiàng)按鈕、命令按鈕等,并以漢字將它們分別標(biāo)識(shí)(Caption)和命名(Name),以便識(shí)別和增強(qiáng)程序的可讀性。如圖2所承。

  6、設(shè)置列表框“行選擇”的Rowsource屬性為A3:A7,參照?qǐng)D1.

  7、設(shè)置列表框“列選擇”的Rowsource 屬性為A9:A13(其中存放的是利用數(shù)組公式{TRAMS-POSE(B2:F2)}返回的轉(zhuǎn)秩矩陣,即“一季度”,……,“地區(qū)合計(jì)”)。

  8、按 ALT+F11鍵,在Visual Basic編輯器中,雙擊“窗體”的“繪圖選項(xiàng)窗口”,為相應(yīng)的控件建立以下8段程序代碼。

  Private Sub userform_Initialize()‘用戶窗口初始化

  行選擇。Enabled=False

  列選擇。Enabled=True

  End Sub

  Private Sub取消Click()‘“取消”按鈕的Click事件代碼

  繪圖選項(xiàng)窗口。Hide‘隱藏繪圖選項(xiàng)窗口

  End Sub

  Private Sub確定_Click()‘“確定”按鈕的Click事件代碼

  Activesheet.ChartObjects(“圖表56”)。Activate‘圖表56“是系統(tǒng)自動(dòng)為插入的圖表所作的命名,該圖表即為動(dòng)態(tài)圖表區(qū)域。

  ActiveChart.ChartArea.Seect Dim選擇季度(4),選擇地區(qū)(4)‘定義兩個(gè)存放區(qū)域名稱的數(shù)組

  If選擇數(shù)據(jù)列。Value=True Then條件語(yǔ)句用于判斷用戶點(diǎn)擊的是“選擇數(shù)據(jù)行”還是“選擇數(shù)據(jù)列”,以便產(chǎn)生不同的繪圖區(qū)域。

  選擇季度(0)=“一季度”:選擇季度(1)=“二季度”

  選擇季度(2)=“三季度”:選擇季度(3)=“四季度”

  選擇季度(4)=“地區(qū)合計(jì)”

  繪圖區(qū)域=“銷售地區(qū)”

  For I=0 To 4 ‘循環(huán)語(yǔ)句用于動(dòng)態(tài)產(chǎn)生“繪圖區(qū)域”

  If列選擇。Selected(I)=True Then ‘所應(yīng)包含的區(qū)域名稱字符串。

  繪圖區(qū)域=繪圖區(qū)域+“,”+選擇季度(I)‘

  Debug.Print繪圖區(qū)域

  End If

  Next I

  繪圖選項(xiàng)窗口。Hide

  ActiveChart.SetSourceData Source:=Sheets(“動(dòng)態(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)=“季度合計(jì)”

  繪圖區(qū)域=“銷售季度”

  For I=0 To 4‘循環(huán)語(yǔ)句用于動(dòng)態(tài)產(chǎn)生“繪圖區(qū)域”

  If行選擇。Selected(I)=True Then‘所應(yīng)包含的區(qū)域名稱字符串。

  繪圖區(qū)域=繪圖區(qū)域+“,”+選擇地區(qū)(I)

  ‘Debug.Print繪圖區(qū)域

  End If

  Next I

  繪圖選項(xiàng)窗口。Hide

  Active Chart.SetSourceData Source:=Sheets(“動(dòng)態(tài)圖表”)。Range(繪圖區(qū)域),-

  PlotBy:=xlRows‘圖表數(shù)據(jù)產(chǎn)生于行

  End If

  ActiveChart.Locaation Where:=xlLocationAsObject,Name:=“動(dòng)態(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 Then

  列選擇。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

  注釋:上述代碼段中,程序行末尾單引號(hào)后的內(nèi)容為程序注釋行。

  四、結(jié)束語(yǔ)

  上述模型的建立假定讀者已掌握Excel 2000的基本操作和宏代碼、事件代碼的建立方法。實(shí)際上,若讀者對(duì)VBA的編程不熟悉,則完全可以通過(guò)宏的定義和閱讀來(lái)學(xué)習(xí)和掌握VBA的程序結(jié)構(gòu)和命令語(yǔ)句。甚至可以根據(jù)需要,通過(guò)復(fù)制定代碼來(lái)建立和編輯上述代碼段,從而減少代碼的輸入錯(cuò)誤。在模型建立完成后,刪除不需要的宏即可。需要說(shuō)明的是,該模型的建立雖然以一個(gè)示例為背景,但動(dòng)態(tài)圖表模型的設(shè)計(jì)思想具有普遍意義。讀者可以按照本文的設(shè)計(jì)思想,根據(jù)財(cái)務(wù)分析中對(duì)動(dòng)態(tài)圖表的具體需求,擴(kuò)展模型的設(shè)計(jì)結(jié)構(gòu),使其更具有一般性和通用性,更符合實(shí)際財(cái)務(wù)分析的需要。
回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - m.galtzs.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)