使打印票据的序号自动加一
在打印一些单据或票据时,希望它们的右上角序号能自动增加,每打印一份就自动加1,比如要打印的票据的当前序号是“№ 2010110001”,打印此票据后,下一张的序号自动变成“№ 2010110002”。
这个序号由两部份组成,前面是一个字符“№”,后面是一个空格加一串10个数字,序号的总长度是12位,见下图中的 I2 单元格。
要实现序号自动递增这样的功能,需要用VBA代码来解决。
操作步骤
第一步:调出VBA窗口
第二步:输入代码
Sub 打印()
s = Range("i2") '收据上的当前序号在I2单元格
ActiveWindow.SelectedSheets.PrintOut '调用打印命令打印当前页
Range("i2") = Left(s, 2) & Right(s, 10) + 1 '打印完毕后让序号加一
End Sub
代码不多,只有五行,其中第四行的 “Right(s, 10) + 1”的意思是从原序号中的右侧取出10位数字,再把这个数字加一。然后与“left(s,2)”组合成一个新的序号赋值给I2单元格。
这个“left(s,2)”表示从原序号的左侧取出两个字符,即“№”与后面的一个空格。
注意:在这个例子中,我们的票据序号在i2单元格。
第三步:添加按钮
上面这些完成后,就可以使用这个功能了,但为了方便使用代码,还要在收据的旁边添加一个按钮,每次按动这个按钮,就会调用上面的代码,完成打印并使序号加1。
在EXCEL窗口按“视图-工具栏-窗体”,调出“窗体”工具栏,用鼠标选择其中的“按钮”,并在屏幕的适当位置添加一个“按钮”。添加后会弹出一个“指定宏”的对话框,选择对话框中的“打印”宏(就是我们的VBA代码的名字),然后按确定。
在添加后的“按钮”上点鼠标右键,选“编辑文字”,给这个按钮起一个名字“打印”。
现在就可以使用了,按一下“打印”按钮,就会打印出当前页面,并自动将序号加1。
大家还可以在这个代码中添加其中功能,比如打印后自动清空“收据”的内容,以便输入新的内容。
注意事项
如果你制做的收据“序号”不在i2单元格,比如在K1单元格,就需要在代码的第二行与第四行中把“i2”替换成“K1”。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:84
阅读量:80
阅读量:87
阅读量:88
阅读量:31