运用EXCEL实现银行对账自动化.docx

上传人:b****6 文档编号:3018646 上传时间:2022-11-17 格式:DOCX 页数:11 大小:17.16KB
下载 相关 举报
运用EXCEL实现银行对账自动化.docx_第1页
第1页 / 共11页
运用EXCEL实现银行对账自动化.docx_第2页
第2页 / 共11页
运用EXCEL实现银行对账自动化.docx_第3页
第3页 / 共11页
运用EXCEL实现银行对账自动化.docx_第4页
第4页 / 共11页
运用EXCEL实现银行对账自动化.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

运用EXCEL实现银行对账自动化.docx

《运用EXCEL实现银行对账自动化.docx》由会员分享,可在线阅读,更多相关《运用EXCEL实现银行对账自动化.docx(11页珍藏版)》请在冰豆网上搜索。

运用EXCEL实现银行对账自动化.docx

运用EXCEL实现银行对账自动化

运用

运用运用

运用EXCEL

EXCELEXCEL

EXCEL实现银行对账自动化

实现银行对账自动化实现银行对账自动化

实现银行对账自动化

许国吴光校

银行对账是指每月单位的银行存款日记账和银行对账单核对,勾销已达账,生成银行存款余额调节表的

过程,这是保证资金安全的最重要手段。

一般财务系统也带有银行对账模块,但在实际操作中存在这样那样

的问题,要么银行对账单的数据文件格式与财务系统不符,要么财务系统的对账模块不能正常使用,这样只

能用手工核对,但这要花较长时间,而且容易出错,一旦出错,核查起来更麻烦。

本人充分运用Excel的VBA

功能实现了银行对账自动化。

一、收集对账数据

1、从账务系统中导出银行存款明细账的数据,并保存为EXCEL文档,然后把相应的内容复制到图1中对应

的栏目内。

2、银行对账单数据文件一般为DBF格式,也有的为EXCEL文档,如果为DBF文件,就需要转化为EXCEL文

档,然后把对应的内容复制到图1中对应的栏目内。

处理完后的EXCEL文档如图1,并把“sheet1”工作表

重命名为“对账数据”。

图1

二、自动核对对账数据

1、在“对账数据”工作表中选择[工具]→[宏]→[VisualBasic编辑器]菜单,进入VBA编辑窗口,执

行[插入]→[模块]命令,插入模块1,然后在编辑窗口中输入如下代码。

Subzdhd()

DimIrowAsInteger,iAsInteger,jAsInteger

Irow=[a1].CurrentRegion.Rows.Count’取得行数

Fori=3ToIrow’数据从第3行开始

Forj=3ToIrow

IfCells(i,"C")=Cells(j,"K")Then’如果C列i行等于K列j行

IfCells(i,"D")=Cells(j,"L")Then’并且D列i行等于L列j行

IfCells(i,"C")<>""Then’并且C列i行不等于空

Cells(j,"L")="√"’则L列j行的值为√

Cells(i,"D")="√"’则D列i行的值为√

ExitFor’如果找到该单元格,则退出查找lls(i,"D")=""Then鈥欏鏋淒鍒梚琛岀瓑浜庣┖

EndIf:

EndIf:

EndIf:

Nextj:

Nexti

Fori=3ToIrow’注释与上相似

Forj=3ToIrow

IfCells(i,"E")=Cells(j,"I")Then

IfCells(i,"F")=Cells(j,"J")Then

IfCells(i,"E")<>""Then

Cells(j,"J")="√":

Cells(i,"F")="√"

ExitFor:

EndIf:

EndIf:

EndIf:

Nextj:

Nexti

EndSub

注:

单引号后的文字为代码注释,可以不输入,另外为节省篇幅,在一行中使用了冒号隔开多条指令(下同)。

2、源代码编辑无误后保存并退出,然后选择[视图]→[工具栏]→[窗体]命令,出现[窗体]控件,

单击[按钮],光标变成小十字形,然后将小十字形移到适当位置,按下左键拖动鼠标,直到出现的方框大

小合适后,释放鼠标左键,形成一个按钮,点击按钮输入“自动核对”文字,然后在此按钮上单击右键,选

择[指定宏]命令,弹出“宏”对话框,选定宏“zdhd”,单击对话框右上方的[确定]按钮,完成后按“自

动核对”按钮即可勾对已达账,如图2。

图2

三、生成银行存款调节表

1、把“sheet2”工作表重命名为“银行调节表”,设置好1至9行的内容,然后按前面的方法插入一个模块

2,并在编辑窗口中输入如下代码。

Sublhtjb()

DimIrowAsInteger,iAsInteger

Irow=Sheet1.[a1].CurrentRegion.Rows.Count

Sheets("对账数据").Activate’激活对账数据工作表

Fori=3ToIrow’数据从第3行开始

IfCells(i,"D")=""Then’如果D列i行等于空

ow

IfCells(i,"C")=Cells(j,"K")Then_雚MJP__

EndIf:

EndIf:

EndIf:

Nextj:

Nexti

Fori=3ToIrow’注释与上相似

Forj=3ToIrow

IfCells(i,"E")=Cells(j,"I")Then

IfCells(i,"F")=Cells(j,"J")Then

IfCells(i,"E")<>""Then

Cells(j,"J")="√":

Cells(i,"F")="√"

ExitFor:

EndIf:

EndIf:

EndIf:

Nextj:

Nexti

EndSub

注:

单引号后的文字为代码注释,可以不输入,另外为节省篇幅,在一行中使用了冒号隔开多条指令(下同)。

2、源代码编辑无误后保存并退出,然后选择[视图]→[工具栏]→[窗体]命令,出现[窗体]控件,

单击[按钮],光标变成小十字形,然后将小十字形移到适当位置,按下左键拖动鼠标,直到出现的方框大

小合适后,释放鼠标左键,形成一个按钮,点击按钮输入“自动核对”文字,然后在此按钮上单击右键,选

择[指定宏]命令,弹出“宏”对话框,选定宏“zdhd”,单击对话框右上方的[确定]按钮,完成后按“自

动核对”按钮即可勾对已达账,如图2。

图2

三、生成银行存款调节表

1、把“sheet2”工作表重命名为“银行调节表”,设置好1至9行的内容,然后按前面的方法插入一个模块

2,并在编辑窗口中输入如下代码。

Sublhtjb()

DimIrowAsInteger,iAsInteger

Irow=Sheet1.[a1].CurrentRegion.Rows.Count

Sheets("对账数据").Activate’激活对账数据工作表

Fori=3ToIrow’数据从第3行开始

IfCells(i,"D")=""Then’如果D列i行等于空

lls(i,"D")=""Then’如果D列i行等于空

IfCells(i,"C")<>""Then’并且C列i行不等于空

Range(Cells(i,"A"),Cells(i,"C")).Select’则选中A列i行至C列i行单元格

Selection.Copy_’然后复制到银行调节表中相应的单元格中

Sheets("银行调节表").Cells(i+7,"A")

EndIf:

EndIf:

Nexti

Fori=3ToIrow’’注释与上相似

IfCells(i,"F")=""Then:

IfCells(i,"E")<>""Then

Range(Cells(i,1),Cells(i,3)).Select

Selection.CopySheet2.Cells(i+7,"A")

Cells(i,"E").Select

Selection.CopySheet2.Cells(i+7,"D")

EndIf:

EndIf:

Nexti

Fori=3ToIrow’注释与上相似

IfCells(i,"J")=""Then:

IfCells(i,"I")<>""Then

Range(Cells(i,"H"),Cells(i,"I")).Select

Selection.CopySheet2.Cells(i+7,"E")

EndIf:

EndIf:

Nexti

Fori=2ToIrow’注释与上相似

IfSheet1.Cells(i,"J")=""Then

IfSheet1.Cells(i,"K")<>""Then

Cells(i,"H").Select

Selection.CopySheet2.Cells(i+7,"E")

Cells(i,"K").Select

然后按前面的方法插入一个模块

2,并在编辑窗口中_雚M擯__IfCells(i,"C")<>""Then’并且C列i行不等于空

Range(Cells(i,"A"),Cells(i,"C")).Select’则选中A列i行至C列i行单元格

Selection.Copy_’然后复制到银行调节表中相应的单元格中

Sheets("银行调节表").Cells(i+7,"A")

EndIf:

EndIf:

Nexti

Fori=3ToIrow’’注释与上相似

IfCells(i,"F")=""Then:

IfCells(i,"E")<>""Then

Range(Cells(i,1),Cells(i,3)).Select

Selection.CopySheet2.Cells(i+7,"A")

Cells(i,"E").Select

Selection.CopySheet2.Cells(i+7,"D")

EndIf:

EndIf:

Nexti

Fori=3ToIrow’注释与上相似

IfCells(i,"J")=""Then:

IfCells(i,"I")<>""Then

Range(Cells(i,"H"),Cells(i,"I")).Select

Selection.CopySheet2.Cells(i+7,"E")

EndIf:

EndIf:

Nexti

Fori=2ToIrow’注释与上相似

IfSheet1.Cells(i,"J")=""Then

IfSheet1.Cells(i,"K")<>""Then

Cells(i,"H").Select

Selection.CopySheet2.Cells(i+7,"E")

Cells(i,"K").Select

lls(i+7,"E")

Cells(i,"K").Select

Selection.CopySheet2.Cells(i+7,"G")

EndIf:

En

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1