怎样在EXCEL单元格中,自动生成单据编号?每次打印前都提示是否更新单据编号?怎么设置呢 ?
我在百度知道中,搜索到一个,感觉很不错,但是用的时候,发现不会生成编号。我找到的是下面的方法,大家看看,哪里需要修改或者其他方法,谢谢啊。按Alt+F11,左边选This...
我在百度知道中,搜索到一个,感觉很不错,但是用的时候,发现不会生成编号。
我找到的是下面的方法,大家看看,哪里需要修改或者其他方法,谢谢啊 。
按Alt+F11,左边选 ThisWorkbook ,在右边窗口粘上下面的代码,
把你的“单据编号:RY-20100000”单元格位置放在代码:
Set a = Sheets("Sheet1").[G2]
在打印前就会询问是否更新单据编号,回答"是"会更新编号,然后打开打印对话框。回答"否"不会更新编号,可还会打开打印对话框。回答"取消"会取消打印。
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 = "单据编号:RY-201" & WorksheetFunction.Text(Right(a.Value, 5) + 1, "00000")
End If
End Sub
我用了发现不对。大家实验下吧。
我在工作表1中 想在G2格显示编号。 还有,最好编号是 公司编号(暂定A)+时间+编号 展开
我找到的是下面的方法,大家看看,哪里需要修改或者其他方法,谢谢啊 。
按Alt+F11,左边选 ThisWorkbook ,在右边窗口粘上下面的代码,
把你的“单据编号:RY-20100000”单元格位置放在代码:
Set a = Sheets("Sheet1").[G2]
在打印前就会询问是否更新单据编号,回答"是"会更新编号,然后打开打印对话框。回答"否"不会更新编号,可还会打开打印对话框。回答"取消"会取消打印。
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 = "单据编号:RY-201" & WorksheetFunction.Text(Right(a.Value, 5) + 1, "00000")
End If
End Sub
我用了发现不对。大家实验下吧。
我在工作表1中 想在G2格显示编号。 还有,最好编号是 公司编号(暂定A)+时间+编号 展开
4个回答
展开全部
'注意:以下代码必须放在“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
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。
接着在该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() & "编号"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好难啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询