'注意:以下代码必须放在“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
首先在G2格输入:【单据编号:A201200000】,为A+2012年+序号,注意不含【】且后面跟5个零。
接着在该ThisWorkbook 右边窗口粘上下面的代码:
把你的“单据编号:RY-20100000”单元格位置放在代码
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set a = Sheets("Sheet1").[G2]
confirm = MsgBox("自动更新单据编号?", vbYesNoCancel)
If confirm = 2 Then Cancel = True: Exit Sub
If confirm = 6 Then
a.Value = "单据编号:A2012" & WorksheetFunction.Text(Right(a.Value, 5) + 1, "00000")
End If
End Sub
一切OK。
你这个可以把你的a设置为输入形式,你那个公司的编号列是多少,你那个a.value=后面的表达有问题,你可以写成a.value=.cells(公司编号列) & now() & "编号"
好难啊