![](/images/contact.png)
在財(cái)務(wù)工作中經(jīng)常與Excel打交道,如果再學(xué)習(xí)一些VBA知識(shí),就可以幫助我們解決工作中需要解決的問題。VBA是Office組件(主要是Excel)的內(nèi)置語言,是應(yīng)用程序開發(fā)語言Visual Basic 的子集,它易于學(xué)習(xí)掌握,是一種自動(dòng)化語言,使常用的程序自動(dòng)化,創(chuàng)建自定義的解決方案,可以將Excel作為開發(fā)平臺(tái)實(shí)現(xiàn)應(yīng)用程序。許多財(cái)務(wù)軟件都有Excel接口,將業(yè)務(wù)活動(dòng)、采購(gòu)活動(dòng)等輸入的信息自動(dòng)導(dǎo)入,生成總賬會(huì)計(jì)報(bào)表,取消輸入憑證這一繁瑣的過程,替代傳統(tǒng)手工操作,實(shí)現(xiàn)數(shù)據(jù)準(zhǔn)確、輸入迅速快捷。使憑證操作員的錄入工作簡(jiǎn)化,工作重心轉(zhuǎn)移到財(cái)務(wù)管理的其他方面。
1 基礎(chǔ)信息梳理
我院已有物資供應(yīng)鏈軟件,平時(shí)使用該軟件管理物資收發(fā)存,每月結(jié)賬后可以從該軟件的數(shù)據(jù)庫(kù)中導(dǎo)出符合要求的Excel數(shù)據(jù)?;蛘呤褂茫粒模蠑?shù)據(jù)庫(kù)訪問技術(shù)鏈接SQL數(shù)據(jù)庫(kù),取得所需的Excel數(shù)據(jù)。醫(yī)院財(cái)務(wù)軟件使用金蝶EAS,會(huì)計(jì)核算時(shí)要求物資數(shù)據(jù)入庫(kù)要核算到應(yīng)付賬款——供應(yīng)商,物資數(shù)據(jù)領(lǐng)用要能核算到使用科室。通過Excel VBA程序設(shè)計(jì)自動(dòng)應(yīng)用程序,將已有的數(shù)據(jù)生成符合金蝶EAS系統(tǒng)標(biāo)準(zhǔn)憑證導(dǎo)入要求的數(shù)據(jù)格式,可以滿足會(huì)計(jì)核算要求。
經(jīng)統(tǒng)計(jì),我院目前有1.2萬條四級(jí)明細(xì)物料。物料編碼規(guī)則是四級(jí)9位,即第一級(jí)1位,第二級(jí)1位,第三級(jí)3位,第四級(jí)4位,相同類型的物料都?xì)w類到同一三級(jí)物料下。如果給最明細(xì)物料(即四級(jí)明細(xì)物料)添加上財(cái)務(wù)信息,程序運(yùn)行時(shí)會(huì)影響其速度,而三級(jí)物料(約1 380條)已經(jīng)歸納了相同的財(cái)務(wù)處理信息,因此可使用三級(jí)物料來作為程序的基礎(chǔ)信息。此外,若同一物料的使用部門不同則核算的會(huì)計(jì)科目也有所不同。按照新的《醫(yī)院財(cái)務(wù)制度》和《醫(yī)院會(huì)計(jì)制度》的規(guī)定以及《上海市醫(yī)療機(jī)構(gòu)醫(yī)療服務(wù)項(xiàng)目和價(jià)格匯編(2010版)》中的“可另收費(fèi)的一次性使用醫(yī)療器械目錄”中的明細(xì)分類和解釋,會(huì)計(jì)科目“醫(yī)療業(yè)務(wù)成本”下設(shè)有“一次性醫(yī)療器械”,明細(xì)內(nèi)容有:手術(shù)器械類、植入材料和人工器官、各類介入器械、醫(yī)用材料及高分子生物材料、口腔材料、其他。為能準(zhǔn)確核算,在三級(jí)物料中將增設(shè)“手術(shù)器械類”等類別。對(duì)現(xiàn)有的四級(jí)明細(xì)物料進(jìn)行校對(duì),將相同的財(cái)務(wù)信息歸類在同一三級(jí)物料下。建立《三級(jí)物料表》給物料明細(xì)中添加上財(cái)務(wù)信息,該表中有以下9列:“三級(jí)物料代碼”、“三級(jí)物料名稱”、“存貨科目代碼”、“管理費(fèi)用科目代碼”、“管理費(fèi)用支出經(jīng)濟(jì)分類_編碼”,“管理費(fèi)用支出經(jīng)濟(jì)分類_名稱”、“醫(yī)療業(yè)務(wù)成本科目”、“醫(yī)療業(yè)務(wù)成本支出經(jīng)濟(jì)分類_編碼”、“醫(yī)療業(yè)務(wù)成本支出經(jīng)濟(jì)分類_名稱”。其中“存貨科目代碼”是物料入庫(kù)時(shí)的借方科目代碼,領(lǐng)用時(shí)的貸方科目代碼;“管理費(fèi)用科目代碼”、“醫(yī)療業(yè)務(wù)成本科目”是物料領(lǐng)用時(shí)借方科目代碼;“管理費(fèi)用支出經(jīng)濟(jì)分類_編碼”、“醫(yī)療業(yè)務(wù)成本支出經(jīng)濟(jì)分類_編碼”是借方科目輔助賬核算項(xiàng)目編碼。
此外,如果物資供應(yīng)鏈軟件中的科室設(shè)置與金蝶EAS系統(tǒng)中的核算單元不一致,還需做一個(gè)核算單元對(duì)應(yīng)表。
經(jīng)過梳理后的三級(jí)物料格式見表1(節(jié)選)。
2 生成物料入庫(kù)憑證
生成物料入庫(kù)憑證時(shí)涉及3個(gè)工作表,分別是“三級(jí)物料”、“供應(yīng)鏈入庫(kù)”、“憑證”。將物資供應(yīng)軟件中的入庫(kù)數(shù)據(jù)導(dǎo)出后拷貝到“供應(yīng)鏈入庫(kù)”工作表中,物資供應(yīng)鏈入庫(kù)數(shù)據(jù)要包含“供貨單位代碼”、“供貨單位名稱”、“發(fā)票號(hào)”、“資產(chǎn)代碼”、“金額”等數(shù)據(jù)項(xiàng)。
(1)對(duì)物資供應(yīng)鏈入庫(kù)數(shù)據(jù)中的“供貨單位名稱”和“發(fā)票號(hào)”進(jìn)行排序,為以后同一家供貨單位的相同發(fā)票號(hào)生成在同一張入庫(kù)憑證內(nèi)做準(zhǔn)備。
?。樱瑁澹澹簦螅ǎ⒐?yīng)鏈入庫(kù)").Range("A1:V"&p).SortKey1:=Range("E2"),Order1:=xlAscending,Key2:=Range("G2"),Order2:=xlAs
?。悖澹睿洌椋睿?,Header:=xlGuess,OrderCustom:=1,MatchCase:=False,Or
ientation:=xlTopToBottom,SortMethod:=xlPinYin,DataOption1:=xl
?。樱铮颍簦危铮颍恚幔?,DataOption2:=xlSortNormal
?。?)為每條物料添加上存貨科目代碼,作用在于可以分清該物料入庫(kù)時(shí)核算的庫(kù)存物資科目。
?。?= Sheets("三級(jí)物料").Range("a65536").End(xlUp).Row’取“三級(jí)物料”數(shù)據(jù)表的記錄數(shù)
?。?= Sheets("供應(yīng)鏈入庫(kù)").Range("a65536").End(xlUp).Row’取“供應(yīng)鏈入庫(kù)”數(shù)據(jù)表的記錄數(shù)
?。樱瑁澹澹簦螅ǎ⒐?yīng)鏈入庫(kù)").Range("W1").Value="存貨科目代碼"
For a = 2 To p
?。悖洌?= CStr(Mid(Sheets("供應(yīng)鏈入庫(kù)").Range("P" & a).Value, 1, 5))
?。疲铮?b = 2 To m
sjdm = CStr(Sheets("三級(jí)物料").Range("A" & b).Value)
?。桑?zcdm = sjdm Then
Sheets("供應(yīng)鏈入庫(kù)").Range("W" & a).Value = Sheets("三級(jí)物料").Range("c" & b).Value