[摘 要] 為了提高會計日常工作中的銀行對賬效率,本文基于Excel表格設計了銀行存款余額調節表,運用VB編制了宏程序,實現了銀行對賬的功能。
[關鍵詞] 銀行存款余額調節表;宏;Excel
[中圖分類號]F232[文獻標識碼]B[文章編號]1673-0194(2008)03-0018-03
在會計日常工作中,銀行對賬是一個很煩瑣的事情,特別是在業務量比較大的情況下,編制余額調節表需要耗費很多時間。雖然很多財務軟件提供了相應的銀行對賬功能,但是很多時候并沒有起到其所承諾的作用。Excel作為一種常用的辦公軟件,其功能被很多人所熟悉,通過進一步的開發,可以滿足很多數據處理的要求。筆者通過在Excel上應用自編的宏程序,實現了銀行對賬的功能。該程序能將銀行對賬單與日記賬中相符的發生額勾對刪除,僅保留不符項最后形成余額調節表,應用十分方便。
一、程序流程圖(見圖1)

二、程序內容
Sub Macro1()
′(1)收入憑證與 (3)收入憑證發生額相同的相互抵銷
′ 確定(1)、(3)列發生額的筆數,若為0跳到第二項比較
Lastrow1 = 0
For i = 6 To 3000
If IsEmpty(Range(\"c\" i).Cells) Then
Exit For
Else
Lastrow1 = Lastrow1 + 1
End If
Next i
If Lastrow1 = 0 Then GoTo number1
Lastrow2 = 0
For i = 6 To 3000
If IsEmpty(Range(\"I\" i).Cells) Then
Exit For
Else
Lastrow2 = Lastrow2 + 1
End If
Next i
If Lastrow2 = 0 Then GoTo number1
′判斷(1)、(3)列發生額是否有相同項,若有則變成0
For m = 6 To Lastrow1 + 5
same = 0
n = 1
For p = 6 To Lastrow2 + 5
If n <= Lastrow2 And same = 0 Then
If Range(\"c\" m).Value = Range(\"I\" p).Value Then
Range(\"c\" m).Value = 0
Range(\"I\" p).Value = 0
same = 1
End If
n = n + 1
End If
Next p
Next m
′刪除發生額為0的項
For i = Lastrow1 + 5 To 6 Step -1
If Range(\"c\" i).Value = 0 Then
Range(\"A\" i \":c\" i).Select
Selection.Delete Shift:=xlUp
End If
Next i
For i = Lastrow2 + 5 To 6 Step -1
If Range(\"I\" i).Value = 0 Then
Range(\"G\" i \":I\" i).Select
Selection.Delete Shift:=xlUp
End If
Next i
number1:
′完成第一次比較,繼續第二次比較
′(2)付出憑證 與(4)付出憑證發生額相同的相互抵銷
′確定(2)、(4)列發生額的筆數,若為0結束程序
Lastrow1 = 0
For i = 6 To 3000
If IsEmpty(Range(\"F\" i).Cells) Then
Exit For
Else
Lastrow1 = Lastrow1 + 1
End If
Next i
If Lastrow1 = 0 Then GoTo number2
Lastrow2 = 0
For i = 6 To 3000
If IsEmpty(Range(\"L\" i).Cells) Then
Exit For
Else
Lastrow2 = Lastrow2 + 1
End If
Next i
If Lastrow2 = 0 Then GoTo number2
′判斷(2)、(4)列發生額是否有相同項,若有則變成0
For m = 6 To Lastrow1 + 5
same = 0
n = 1
For p = 6 To Lastrow2 + 5
If n <= Lastrow2 And same = 0 Then
If Range(\"F\" m).Value = Range(\"L\" p).Value Then
Range(\"F\" m).Value = 0
Range(\"L\" p).Value = 0
same = 1
End If
n = n + 1
End If
Next p
Next m
′刪除發生額為0的項
For i = Lastrow1 + 5 To 6 Step -1
If Range(\"F\" i).Value = 0 Then
Range(\"D\" i \":F\" i).Select
Selection.Delete Shift:=xlUp
End If
Next i
For i = Lastrow2 + 5 To 6 Step -1
If Range(\"L\" i).Value = 0 Then
Range(\"J\" i \":L\" i).Select
Selection.Delete Shift:=xlUp
End If
Next i
Exit Sub
number2:
End Sub
三、實施步驟
1. 在Excel新建表格中建立銀行存款余額調節表(如圖2)。

2. 分別填入銀行對賬單及單位日記賬中的發生額,注意不要有空項,合計行(行18)前一行要空白。
3. 運行宏程序macro1,自動生成對賬結果,L20=0。
四、應用效果
該程序達到了預期的效果,在使用中準確率達到100%,大大節約了銀行對賬的時間,提高了工作效率。另外,該程序是基于Excel開發的,操作簡便,實用性很強。
主要參考文獻
[1] Bill Jelen,Tracy Syrstad.巧學巧用Excel 2003——VBA與宏[M]. 北京:電子工業出版社,2005.
[2] John Walkenbach.Excel 2003高級VBA編程寶典[M]. 北京:電子工業出版社,2005.
[3] Steven M Hansen.Excel 2003與VBA編程——從入門到精通[M]. 北京:電子工業出版社,2004.