Excel表格在银行对账中的应用

时间:2023-06-08 08:54:05 公文范文 来源:网友投稿

[摘 要] 为了提高会计日常工作中的银行对账效率,本文基于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.

推荐访问:表格 银行 Excel