关于EXCEL中序列打印的问题

[复制链接]
查看11 | 回复2 | 2010-7-28 11:52:36 | 显示全部楼层 |阅读模式
假设编码在G1单元格,使用下面代码可实现打印和自动编码递增。
按ALT+F11打开VBA窗口,插入一个模块,把下面代码复制进去。
回到excel窗口,按“视图-工具栏”,点“窗体”,调出“窗体”工具栏,在上面选一个按钮,添加到表格上,并指定宏为“打印”。
使用时,每点击一下添加的按钮,就会打印一次,并使编号自动加一。
Sub 打印()
ActiveWindow.SelectedSheets.PrintOut
s = Val(Range("g1"))
s = s + 1
Range("g1") = "'" & Right("0000" & s, 5)
End Sub
用了这个宏之后,序列是会跟着走,但是怎么让他下次回到1重新排列
我关闭EXCEL之后打开还是按照之前一次的序列排下来的

回复

使用道具 举报

千问 | 2010-7-28 11:52:36 | 显示全部楼层
用worksheet的事件来做吧:下面的代码每次激活的时候,会将g1单元格重置为00001Private Sub Worksheet_Activate()
[g1].Value = "'00001"End Sub
回复

使用道具 举报

千问 | 2010-7-28 11:52:36 | 显示全部楼层
你按一次,打印一次,编号增加1. 这是上面代码实现的功能.但是不知道你什么情况下想让他回到1.如果是随机的,你直接在Range("g1") 输入1就行了.如果有规律,你写出来就好办了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行