怎样在EXCEL单元格中,自动生成单据编号?每次打印前都提示是否更新单据编号?怎么设置呢 ?

2024-12-03 04:31:42
推荐回答(4个)
回答1:

'注意:以下代码必须放在“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

回答2:

首先在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。

回答3:

你这个可以把你的a设置为输入形式,你那个公司的编号列是多少,你那个a.value=后面的表达有问题,你可以写成a.value=.cells(公司编号列) & now() & "编号"

回答4:

好难啊