利用VBA、EXCEL设计连续打印支票

上传人:飞*** 文档编号:53299101 上传时间:2018-08-29 格式:PDF 页数:5 大小:645.20KB
返回 下载 相关 举报
利用VBA、EXCEL设计连续打印支票_第1页
第1页 / 共5页
利用VBA、EXCEL设计连续打印支票_第2页
第2页 / 共5页
利用VBA、EXCEL设计连续打印支票_第3页
第3页 / 共5页
利用VBA、EXCEL设计连续打印支票_第4页
第4页 / 共5页
利用VBA、EXCEL设计连续打印支票_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《利用VBA、EXCEL设计连续打印支票》由会员分享,可在线阅读,更多相关《利用VBA、EXCEL设计连续打印支票(5页珍藏版)》请在金锄头文库上搜索。

1、利用 VBA 、EXCEL 设计连续打印支票荣县新型农村合作医疗服务中心刘毅摘要 本文介绍了用VBA作为开发语言 ,在 EXCEL 中设计连续打印现金支票和电汇凭证的例子,并给出了源程序。在本单位的实际工作中,每月都要手工开写大量的现金支票和电汇凭证的票据,工作量相当大,一不小心就极易出错,一丁点错就要重新开。到网上找相应的程序,找到的不是要出钱,就是不能适用于本单位的连续开票。因此,就利用自己所学的知识,支票图片和每月开票的数据导入到EXCEL 中,再利用VBA设计将导放的数据输入进指定的单元格,实现连续打印到电汇凭证中。实现过程:一、在 EXCEL 中建立如下四个工作表:1、将两种票据扫描

2、后导入到EXCEL中。先将以下两张票据用扫描仪扫描为分辨率为100dpi 的图片,再将这两张图片分别设置为“支票打印”和“电汇凭证打印”工作表的背景:单击“格式/ 工作表 / 背景”,在弹出的对话框中,选择插入刚扫描的补助结算单的图片。再单击“视图/ 显示比例 / 自定义”,将显示比例调整为106。通过拖动行、列标题的边界调整行高列宽,再配合使用格式工具栏中的“合并及居中”按钮,让支票中要每个要填写的位置均正好与一个单元格重合。调整好页面设置, 使需要打印的内容能打印在合适的位置,便能达到所见即所得的效果,如图 1 和图 2。2、将需要的数据分别录入“新农合拨款统计表”和“银行帐号”工作表中。

3、在“新农合拨款统计表”工作表中,第一列为拨款的单位,从二列开始为每月拨款所需要的数据,每月占四列。在“银行帐号”工作表中,第一列为拨款的单位的开户单位全称,但必须与“新农合拨款统计表”工作表中的顺序保持一致。第二列为开户行,第三列为银行帐号。二、在工作表中设置公式及格式。先设置“支票打印”工作表中的公式及格式。在图 1 的现金支票中,在以下单元格中设置如下公式:图 1 1、设置小写日期数字的单元格有:C12:: =year(now();F12: =month(now(); H12 : = day(now() 2、设置大写日期数字的单元格有:Q4: =TEXT(LEFT(C12,1),“DBNu

4、m2G/ 通用格式 “)&TEXT(MID(C12,2,1),“DBNum2G/通用格式“)&TEXT(MID(C12,3,1),“DBNum2G/通用格式 “)&TEXT(RIGHT(C12,1),“DBNum2G/通用格式 “) R4: =IF(F12=100000000,MID(RIGHTB(C14*100,11),1,1),IF(C14=10000000,“¥“,“ “) AB8:=IF(C14=10000000,MID(RIGHTB(C14*100,10),1,1),IF(C14=1000000,“¥“,“ “) AC8:=IF(C14=1000000,MID(RIGHTB(C14*

5、100,9),1,1),IF(C14=100000,“¥“,“ “) AD8:=IF(C14=100000,MID(RIGHTB(C14*100,8),1,1),IF(C14=10000,“¥“,“ “) AE8:=IF(C14=10000,MID(RIGHTB(C14*100,7),1,1),IF(C14=1000,“¥“,“ “) AF8:=IF(C14=1000,MID(RIGHTB(C14*100,6),1,1),IF(C14=100,“¥“,“ “) AG8 :=IF(C14=100,MID(RIGHTB(C14*100,5),1,1),IF(C14=10,“¥“,“ “) AH8:

6、=IF(C14=10,MID(RIGHTB(C14*100,4),1,1),IF(C14=1,“¥“,“ “) AI8:=IF(C14=1,MID(RIGHTB(C14*100,3),1,1),IF(C14=0.1,“¥“,“ “) AJ8:=IF(C14=0.1,MID(RIGHTB(C14*100,2),1,1),IF(C14=0.01,“¥“,“ “) AK8:=IF(C14=0.01,RIGHTB(C14*100,1),“ “) 公式的前面部份为提供相应位置的小写数字,后面部份为在整个小写金额的有效最高位前面加上¥符号。6、设置大写金额格式的公式:(1)在 P7 单元格中,输入如下公式

7、,设置完整的大写金额:=IF(C140),“零“&TEXT(INT(C14*10)-INT(C14)*10,“dbnum2“)&“角“,TEXT(INT(C14*10)-INT(C14)*10,“dbnum2“)&“角“)&IF(INT(C14*100)-INT(C14*10)*10)=0,“整“,TEXT(INT(C14*100)-INT(C14*10)*10,“dbnum2“)&“分“) 这样现金支票中的所有格式都设置好了。依照同样的原理,将“电汇凭证打印”工作表中也设置好格式和公式。图 2 三、在 EXCEL 中建立 VBA语句,实现支票、电汇凭证的套打及电汇凭证的连续打印为防止用户误删

8、除工作表的公式及格式,将此文件设置为一打开就立即执行宏,由宏提示用户进行选择输入。由于现金支票几天才开一张,而电汇凭证对各医院转帐时一开就连续开,因此现金支票每次打开文件时,选择运行现金支票的程序后只需运行一次就行了,而打印电汇凭证的程序则需多次运行,则要再建立一个宏,并指定一个快捷键,每按一次快捷键,就运行一次该宏,就打印一个单位。(一)、首先建立连续打印电汇凭证的宏:单击中“工具 / 宏/ 宏”,在弹出的对话框中先输入宏的名字next_zp ,再点击创建,如下图点击创建后,出现如下图的界面,在最右边的下拉列表框中选择声明,在声明中输入全局变量:Public h As Integer, z,

9、 y, zp, sm As String h 为行数的变量; y 为月份的变量; sm为用途说明; zp 为支票的种类选择,z 为电汇凭证中的地址变量。Sub next_zp() h = h + 1 Worksheets(4).Select Worksheets(4).Cells(7, 24) = z Worksheets(4).Cells(5, 19) = Worksheets(2).Cells(h, 2) Worksheets(4).Cells(6, 19) = Worksheets(2).Cells(h, 4) Worksheets(4).Cells(8, 19) = Worksheet

10、s(2).Cells(h, 3) Worksheets(4).Cells(9, 4) = Worksheets(1).Cells(7, 16) Worksheets(4).Cells(13, 14) = Worksheets(1).Cells(15, 3) Worksheets(4).Cells(10, 22) = Worksheets(1).Cells(8, 26) Worksheets(4).Cells(10, 23) = Worksheets(1).Cells(8, 28) Worksheets(4).Cells(10, 24) = Worksheets(1).Cells(8, 29)

11、Worksheets(4).Cells(10, 25) = Worksheets(1).Cells(8, 30) Worksheets(4).Cells(10, 26) = Worksheets(1).Cells(8, 31) Worksheets(4).Cells(10, 27) = Worksheets(1).Cells(8, 32) Worksheets(4).Cells(10, 28) = Worksheets(1).Cells(8, 33) Worksheets(4).Cells(10, 29) = Worksheets(1).Cells(8, 34) Worksheets(4).C

12、ells(10, 30) = Worksheets(1).Cells(8, 35) Worksheets(4).Cells(10, 31) = Worksheets(1).Cells(8, 36) Worksheets(4).Cells(10, 32) = Worksheets(1).Cells(8, 37) End Sub 退出这个编辑程序并保存。再设置该宏的快捷键:在 EXCEL 中,单击“工具 / 宏/ 宏”,在宏对话框中选中nexp_zp,点击“选项”,设置快捷键为Ctrl+M 。则打开这个文件,会先自动运行下面步骤建立的宏,若选择打印电汇凭证,则会打印一个单位的。要再打其他单位的电汇

13、凭证,则按Ctrl+M 就会打印下一个单位的电汇凭证。(二)、建立打开文件就自动运行的宏再在下图左边双击ThisWorkbook ,点击上图中间位置显示为“通用”的下拉列表框,选择Workbook,如下图:在下边的编辑框中输入列下程序:Private Sub Workbook_Open() Worksheets(1).Select zp = InputBox(“1为现金支票, 2 为电汇凭证, 3 为其它 “, “请选择支票种类“, “1“, 5000, 5000) 选择 1 为打印现金支票, 选择 2 为打印电汇凭证, 3 为什么也不运行, 就可以粘贴医院的每月报帐数据。If zp = 1

14、Then Worksheets(1).Cells(13, 3) = InputBox(“请输入收款人姓名“, “ 请输入收款人姓名“, “刘毅 “, 5000, 5000) Worksheets(1).Cells(14, 3) = InputBox(“请输入金额 “, “请输入金额 “, “0“, 5000, 5000) Worksheets(1).Cells(15, 3) = “支付异地新合基金“ Worksheets(1).Cells(5, 15) = Worksheets(1).Cells(13, 3) Worksheets(1).Cells(10, 14) = Worksheets(1

15、).Cells(15, 3) End if If zp=2 then y = InputBox(“请输入打印的月份“, “请输入打印的月份“, “1“, 5000, 5000) sm_1 = “ 支付“ + Trim(Str(y) + “月新合基金 “ h = InputBox(“请输入要打印第几个单位“, “请输入要打印第几个单位“, “1“, 5000, 5000) + 2 sm = InputBox(“请输入支票的用途“, “请输入支票的用途“, sm_1, 5000, 5000) z = InputBox(“请输入汇入地点 “, “请输入汇入地点“, “荣县 “, 5000, 5000

16、) Worksheets(4).Select Worksheets(4).Cells(7, 24) = z Worksheets(4).Cells(5, 19) = Worksheets(2).Cells(h, 2) Worksheets(4).Cells(6, 19) = Worksheets(2).Cells(h, 4) Worksheets(4).Cells(8, 19) = Worksheets(2).Cells(h, 3) Worksheets(4).Cells(9, 4) = Worksheets(1).Cells(7, 16) Worksheets(4).Cells(13, 14) = Worksheets(1).Cells(15, 3) Worksheets(4).Cells(10, 22) = Worksheets(1).Cells(8, 26) Worksheets(4).Cells(10, 23) = Worksheets(1).Cells

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号