王永磊
摘要:通過VBA編制宏程序,可以高效完成對(duì)結(jié)構(gòu)化數(shù)據(jù)的篩選、統(tǒng)計(jì)、分析,快速鎖定審計(jì)重點(diǎn)、疑點(diǎn),同時(shí)與使用軟件相比,VBA具有簡單易用、開發(fā)便捷、節(jié)約資金等優(yōu)勢,用好VBA可以提高審計(jì)質(zhì)量和效率,節(jié)省審計(jì)人力物力。
關(guān)鍵詞:VBA;結(jié)構(gòu)化數(shù)據(jù);會(huì)計(jì)科目;詢證函
中圖分類號(hào):TB
文獻(xiàn)標(biāo)識(shí)碼:A
doi:10.19311/j.cnki.16723198.2017.13.093
1什么是VBA和結(jié)構(gòu)化數(shù)據(jù)
VBA是“Visual Basic for Applications”的簡稱,它是微軟 Visual Basic 的宏語言版本,也可以說是一種應(yīng)用程式視覺化的Basic腳本,用于編寫基于Windows 的應(yīng)用程序,內(nèi)置于多個(gè)微軟程序,特別是office系列的excel、word、power point中。通過Visual Basic 編輯器可以通過編寫或修改代碼來創(chuàng)建宏,宏是一系列命令和指令的組合,可以作為單個(gè)命令執(zhí)行來自動(dòng)完成某項(xiàng)任務(wù),特別是需要頻繁使用的任務(wù)。掌握了VBA,可以將多個(gè)步驟的手工操作變得簡單迅速,而且通過可視化的界面,可以將結(jié)果更清晰的呈現(xiàn)出來。例如,企業(yè)的銷售部門有統(tǒng)計(jì)合同信息的excel表格,相應(yīng)的采購、生產(chǎn)倉儲(chǔ)部門都有自己的統(tǒng)計(jì)信息表格,每月為了統(tǒng)計(jì)合同執(zhí)行情況,分析人員可以先抓取合同統(tǒng)計(jì)表中的合同號(hào),然后在其他表格中按合同號(hào)篩選對(duì)應(yīng)記錄,再把相關(guān)信息手工粘貼到新的表格中,如果合同較多的話,這一過程將十分繁瑣。如果使用了VBA編制的宏,可以從多個(gè)表中,自動(dòng)生成按合同號(hào)來跟蹤采購量、入庫量、出庫量、生產(chǎn)量、銷售量和庫存量的統(tǒng)計(jì)清單,統(tǒng)計(jì)分析任務(wù)將會(huì)十分輕松。
結(jié)構(gòu)化數(shù)據(jù)是信息的集合,這類信息能夠用數(shù)據(jù)或同一的結(jié)構(gòu)來表示,如典型的excel表格中,一行或一列是一類數(shù)據(jù),行首或列首為標(biāo)題欄,列出的是這類數(shù)據(jù)的屬性,如“姓名、年齡”等,下面是具體數(shù)據(jù),如“張三、李四”等。對(duì)應(yīng)的是非結(jié)構(gòu)化數(shù)據(jù),這類數(shù)據(jù)無法構(gòu)成典型的表格,而是離散的,如視頻、音頻、圖片等形式。
2利用VBA進(jìn)行結(jié)構(gòu)化數(shù)據(jù)審計(jì)的優(yōu)勢
(1)功能強(qiáng)大。企業(yè)財(cái)務(wù)或業(yè)務(wù)系統(tǒng)不論使用的是ERP系統(tǒng)還是用友或其他系統(tǒng),數(shù)據(jù)都是存儲(chǔ)在數(shù)據(jù)庫中的,典型的數(shù)據(jù)庫如SQL Server、Oracle存儲(chǔ)的都是結(jié)構(gòu)化數(shù)據(jù)。為發(fā)現(xiàn)問題或疑點(diǎn),審計(jì)人員往往要從大量結(jié)構(gòu)化數(shù)據(jù)中尋找線索,確定審計(jì)重點(diǎn)和方向,進(jìn)行數(shù)據(jù)分析、比對(duì),完成審計(jì)目標(biāo)。這一過程可以通過審計(jì)軟件完成,同樣也可以通過VBA完成,因?yàn)閂BA是結(jié)構(gòu)化數(shù)據(jù)處理的利器,它的設(shè)計(jì)初衷就是自動(dòng)處理大量重復(fù)的工作,這與審計(jì)工作需求相一致??梢哉f,使用VBA可以處理結(jié)構(gòu)化數(shù)據(jù)審計(jì)中的絕大部分工作。
(2)簡單易用。審計(jì)軟件要使用專門的數(shù)據(jù)抓取工具從企業(yè)的信息系統(tǒng)中提取數(shù)據(jù),再轉(zhuǎn)化為審計(jì)軟件可以識(shí)別的數(shù)據(jù),這一過程非常復(fù)雜,且耗時(shí)較長;使用VBA可以直接在excel上操作,只要從企業(yè)信息系統(tǒng)中把數(shù)據(jù)導(dǎo)出到excel表格即可,審計(jì)人員均可操作,簡單快捷。審計(jì)軟件往往甚至很多功能,如果沒有較好的操作手冊(cè),很難完全掌握,容易給人復(fù)雜難用的印象;使用VBA可以就一項(xiàng)功能編寫一個(gè)宏,通過增加注釋可以進(jìn)行傻瓜操作,目的性強(qiáng),操作直接。
(3)易于開發(fā)。審計(jì)軟件功能固化、系統(tǒng)封閉,使用者無法接觸原始代碼,如果想要增加新的功能,只能求助于原開發(fā)者繼續(xù)開發(fā)或購買新的升級(jí)版本;VBA是完全開放的,只要需求發(fā)生改變,任何人、任何時(shí)間都可以修改或新建代碼去滿足需求,而且因?yàn)閂B語言邏輯性強(qiáng),開發(fā)者并不需要特別高的要求,經(jīng)過一定學(xué)習(xí)就能掌握,也利于開發(fā)新的應(yīng)用。
(4)節(jié)省資金。審計(jì)信息化建設(shè)必須足夠的建設(shè)經(jīng)費(fèi)作保障,購買服務(wù)器和軟件、搭建審計(jì)信息化網(wǎng)絡(luò)、網(wǎng)絡(luò)維護(hù)等都需要大量資金投入。而且,重建設(shè)、輕應(yīng)用,重硬件、輕軟件等現(xiàn)象普遍存在,相關(guān)硬件與軟件購置之后束之高閣,造成很大的浪費(fèi)。VBA是基于office辦公軟件的編程工具,只要有可以正常使用的excel或word軟件,除了編寫VBA程序的投入外,幾乎不需要多余投入。
3應(yīng)用舉例
3.1對(duì)應(yīng)科目分析
在財(cái)務(wù)報(bào)表審計(jì)中,審計(jì)人員往往需要查找某科目的對(duì)應(yīng)科目,以判斷會(huì)計(jì)處理是否正確、是否使用正確科目、是否存在疑點(diǎn)等,如“收入”、“應(yīng)收(付)賬款”、“銀行存款”、“其他應(yīng)收(付)款——其他”等。在excel中可以先篩選出包含本科目的記錄,再查找憑證號(hào),然后通過具體憑證看到對(duì)方科目,這一過程繁瑣低效,容易出錯(cuò)。使用VBA可以實(shí)現(xiàn)這一功能,
代碼中sRow代表數(shù)據(jù)起始行,初始值=2,eRow代表數(shù)據(jù)終止行,Range(i,3)代表月份,Range(i,4)代表憑證號(hào),kName代表擬查詢的科目名稱,sTure為判斷標(biāo)志,i為查憑開始數(shù),j為查憑結(jié)束數(shù),初始值均為sRow。
內(nèi)在邏輯為:從sRow開始,如果下一行的月份加憑證號(hào)=本行的月份加憑證號(hào),說明它們是一張憑證上的,此時(shí)查憑結(jié)束數(shù)j+1,指向下一行,同時(shí)再判斷本行或下一行的科目名稱是否等于kName,如果等于,sTure=1,表示這張憑證是要抽取的;如果下一行的月份加憑證號(hào)不等于本行的月份加憑證號(hào),說明一張憑證查完了,此時(shí)判斷sTure如果等于1,把第sRow行到第j行的第9列都設(shè)為1,然后讓sRow指向i+1行,同時(shí)清零sTure,如果sTure不等于1,不做操作。如此循環(huán)一遍,包含科目名為kName的憑證都被標(biāo)記出來,就可以很輕松的看到對(duì)方科目了。
3.2生成詢證函
當(dāng)企業(yè)客戶、供應(yīng)商、銀行賬戶較多時(shí),可能需要編制上百件詢證函,通過手工復(fù)制、粘貼耗時(shí)耗力,此時(shí)可以使用VBA自動(dòng)插入功能。首先設(shè)計(jì)好詢證函模板,如單元格h3代表編號(hào),單元格a5代表單位名稱,單元格c12代表金額;然后把統(tǒng)計(jì)信息填入“函證信息”表格,每行第1列代表編號(hào),第2列代表單位名稱,第3列代表金額。在詢證函模板后面復(fù)制一張新表,在新表單元格h3、a5、c12分別賦值函證信息中的一行數(shù)據(jù),然后打印新表,打印后刪除,完成一份詢證函后,計(jì)數(shù)器加1,再循環(huán)生成下一張?jiān)冏C函。主要代碼如下:
除了上面舉例以外,VBA還可以應(yīng)用于審計(jì)抽樣、實(shí)質(zhì)性測試、審計(jì)底稿編制等方面,如果用好用精,可以幫助審計(jì)人員從龐大的數(shù)據(jù)梳理出審計(jì)疑點(diǎn),鎖定審計(jì)目標(biāo),通過實(shí)時(shí)的或動(dòng)態(tài)的檢查和監(jiān)控,大幅提高審計(jì)效率和質(zhì)量。
參考文獻(xiàn)
[1]桂嘉偉.基于Excel VBA的審計(jì)自動(dòng)抽樣系統(tǒng)設(shè)計(jì)與應(yīng)用研究[J].中國管理信息化,2015.
[2]Microsoft Visual Basic 6.0 循序漸進(jìn)教程專業(yè)版[M].北京:北京希望電腦公司,1999.
[3]李小遐.Excel VBA在辦公自動(dòng)化中的應(yīng)用[J].電子測試,2014.