贊贊小屋

VBA如何合併報表資料

會計是企業的語言,一家公司所有商業交易,無論進銷存、費用、固資等,所有交易憑證都是交到財務部會計人員,據以編製傳票。因此會計等於是企業忠實的紀錄人員,以古代話來作譬喻,便是如同史官般的存在。紀載史冊,用意是以古為鑑,而紀錄傳票,用意不僅僅是保留起來供稅局或會計師查帳,對於企業經營管理而言,會計人員每天辛辛苦苦編製傳票,無形中便是建立企業有史以來的交易資料庫,如今很流行大數據分析的說法,而財務部所做每一筆傳票,是對於所屬企業最為有用的基礎數據,是作為進一步財務分析的原始資料,因此如何將這些資料有效率整合,本身是個值得研究的課題。

實務上,會計系統每個月一定都會有一份傳票明細帳、或者是日記帳,在此分享如何利用VBA,將兩個月份的傳票明細整合起來:

一、「1701」及「1702」傳票明細帳,希望以一步到位的指令方式,將其整合到「合併」工作表。「1701」及「1702」傳票明細帳

二、Excel操作是先選取「1701」的資料範圍,「Ctrl+C」複製,游標移到「合併」工作表(預設為A1儲存格),「Ctrl+V」貼上。這個預期每個月都要做這麼一次,所以想說將它「錄製巨集」,組合成一個快速指令,具體可參考《會計人的Excel小教室》:1.4「錄製及管理巨集」。

錄製巨集

三、在「巨集」視窗中,選定剛才所錄製的巨集,按下「編輯」,表示進入VBA編輯檢視這個巨集程式。

進入VBA編輯檢視這個巨集程式

四、可以看到剛才第二個步驟所做的操作,在VBA裡面便是如圖所示的程式。

在VBA裡面便是如圖所示的程式

五、在VBA編輯界面中,在上方指令區依序選擇「插入」、「模組」。

在上方指令區依序選擇「插入」、「模組」

六、參考剛才的巨集程式,編寫將「1701」及「1702」傳票明細帳整合到「合併」工作表的程式代碼。最開始「Public Sub Conbine()」,表示將這個自製指令取名為「Conbine」。

表示將這個自製指令取名為「Conbine」

七、執行「Conbine」巨集,神奇的事情發生了,一瞬間所有我們想要執行的操作,全部一次做好呈現在眼前。

執行「Conbine」巨集

這篇文章是個開始,內容是著重在如何自己錄製巨集作參考,關於程式代碼未多作說明。實務上,有可能有非常多張的工作表、也有可能工作表是儲存在電腦資料夾各個Excel檔案中,另外,這篇文章最後執行的結果,可以看到中間有個重覆的標題列,諸如此類的情形,VBA程式將會更加複雜,預計在往後會再有幾篇文章,專門分享如何合併報表資料,並且會詳細說明每一行的程式代碼。

本網站所有內容皆受版權保護,网站备案编号:苏ICP备14051307号-1