excel里,可以利用时间函数today和row函数自动生成单号。
假如A列是单号,可以在A2输入公式:=IF(B2<>"",TEXT(TODAY(),"yyyymmdd")&ROW()-1,"")。公式解析:如果B2单元格为空,就显示为空,否则就返回日期函数和row函数生成的序列号。用today函数生成的序列号,带有日期的信息,可以在以后方便的查找。
用宏解决。在Excel中,同时按Alt和F11进入宏界面,在左上窗口找到本工作簿的名字,里面有个ThisWorkbook,双击它,在右边窗口粘贴如下代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("F1") = Range("F1") + 1 '请自己把F1改为你实际存放单号的单元格
End Sub
回到Excel。这可以实现,只要存盘,单元格F1就在原来的数字上加1。
如果你一天要存盘几次,而打印只有一次,建议将代码改为:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("F1") = Range("F1") + 1
End Sub
这个可以实现:你一点打印,F1自动加1,然后打印。(因此,你原来的单号要小1号)。
按你所需了。如果你一天又打印几次又存盘几次,比较麻烦。
不可以这么省事.就是加入VB做成了,你假如打印纸卡坏了,你也不管么最省事你可以达到这样一个效果如单号这个单元格A2写上公式=TEXT(TODAY(),"YYYYMMDD")&TEXT(A1,"000")当A1写入1,A2就会生成20100402001当A1写入3,A2就会生成20100402003依次类推