怎样在Excel中自动生成单据编号

我要打印一张清单。在这张清单上已编写如下
“单据编号:RY-20100000”如何让下一次打印的时候自动变成“单据编号:RY-20100001”以些类推。
还有没有更详细的说法啊。

这个很简单的。你只用打第一个单据编号,然后用鼠标左键单击选定它,此时鼠标箭头为一个空心的十字的,再指向所选框的右下角,鼠标会变为一个黑色的十字,此时按下左键不放,往下拖动(可能刚开始不习惯,建议多试几次就可以了),拖动到你想要的行数,放开鼠标,你会发现,下面所有的格子都是第一个格子里的编号,此时,用鼠标指向你拖到的最后一个格子右下方,会有一个小箭头,你左键单击它,会有几个选项,选择第二个--以序列方式填充,然后你会发现,刚才你拖的所有格子的编号就不再是相同的了,变成了安顺序的1、2、3、4、5、6。。。。。。 :-)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-19
按Alt+F11,左边选 ThisWorkbook ,在右边窗口粘上下面的代码,
把你的“单据编号:RY-20100000”单元格位置放在代码:
Set a = Sheets("Sheet2").[A1]

在打印前就会询问是否更新单据编号,回答"是"会更新编号,然后打开打印对话框。回答"否"不会更新编号,可还会打开打印对话框。回答"取消"会取消打印。

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Set a = Sheets("Sheet2").[A1]
confirm = MsgBox("自动更新单据编号?", vbYesNoCancel)
If confirm = 2 Then Cancel = True: Exit Sub
If confirm = 6 Then
a.Value = "单据编号:RY-201" & WorksheetFunction.Text(Right(a.Value, 5) + 1, "00000")
End If

End Sub
第2个回答  推荐于2016-02-25

设置单元格格式



第3个回答  2010-03-19
for i = 1 to x 'x等于打印的单据的份数
n=right(RY-20100000,len(RY-20100000)-3) '这里取得单据编号的数字部分
n = n+1 '每循环一次就+1
NO="RY-" & n 'NO就是单据编号
next
当然了这个只是单据编号,应该还要写入打印之类的代码才能打印
相似回答