作者:乔山办公网日期:
返回目录:excel表格制作
'注意:以下zd代码必须放在“内ThisWorkbook”的代码窗口中
Private Sub Workbook_BeforePrint(Cancel As Boolean)
confirm = MsgBox("自动更新单据编号容?", vbYesNoCancel)
If confirm = 2 Then Cancel = True: Exit Sub
If confirm= 6 Then
With Sheets("Sheet1").Range("G2")
.Value = Format(Date, "暂定Ayyyymmdd") & Format(Val(Right(.Value, 5)) + 1, "00000")
End With
End If
End Sub
'注意:以下zd代码必须放在“回ThisWorkbook”的代码窗口中
Private Sub Workbook_BeforePrint(Cancel As Boolean)
confirm = MsgBox("自动更新单据编号答?", vbYesNoCancel)
If confirm = 2 Then Cancel = True: Exit Sub
If confirm= 6 Then
With Sheets("Sheet1").Range("G2")
.Value = Format(Date, "暂定Ayyyymmdd") & Format(Val(Right(.Value, 5)) + 1, "00000")
End With
End If
End Sub
你完全没有必要每次生成一个文件,将每次的数据保存在一个单独sheet里面,每次运行这个表格,就去找最大的编号再加1就是本次的编号 。这样同时也就没有你的第二个问题和第三个问题,直接查看历史记录即可。
按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