使打印票据的序号自动加一

2025-09-26 06:54:45

在打印一些单据或票据时,希望它们的右上角序号能自动增加,每打印一份就自动加1,比如要打印的票据的当前序号是“№ 2010110001”,打印此票据后,下一张的序号自动变成“№ 2010110002”。

这个序号由两部份组成,前面是一个字符“№”,后面是一个空格加一串10个数字,序号的总长度是12位,见下图中的 I2 单元格。

要实现序号自动递增这样的功能,需要用VBA代码来解决。

使打印票据的序号自动加一

操作步骤

第一步:调出VBA窗口

 

在当前打印票据工作表中按ALT+F11,此时会打开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。
猜你喜欢