如何在EXCEL批量打印时,使某一栏的序列号数值自动增加?

Private Sub sn()
Dim s As String

ActiveSheet.PrintOut
'

s = ActiveSheet.Cells(6, 3)
'

s = Left(s, 5) & Format(Val(Mid(s, 6)) + 1, "000")
'

ActiveSheet.Cells(6, 3) = s
'

End Sub

上面这个宏,可以实现自动增加数值,但每次运行只能打印一份。
应该怎样修改,使得我一次性打印若干张纸,并且C6栏里面的“A000001”自动往上增加?

sub PPrint()
for i=1 to 20 '打印20份
ActiveSheet.PrintOut
s = ActiveSheet.Cells(6, 3)
s = Left(s, 5) & Format(Val(Mid(s, 6)) + 1, "000")
ActiveSheet.Cells(6, 3) = s
next
endsub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-27
你是想打印这个文件的所有的表吗。如果是这样你可以这上面这个宏前面加个FOR循环。

For x = 1 To Sheets.Count '循环。从第一张工作表开始。Sheets.Count这个对象是返回工作表总数量
把你那个ActiveSheet换成Worksheets(x)

Worksheets(x).PrintOut
然后把这句放到最后执行
第2个回答  2018-10-04

使用这款现成的呀,勾选仅递增打印。

相似回答