怎样在EXCEL单元格中,自动生成单据编号?

如题所述

第1个回答  推荐于2019-10-01
'注意:以下代码必须放在“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个回答  2019-11-13

设置单元格格式

第3个回答  2018-05-29

放在“ThisWorkbook”的代码窗口中即可。

一、先打开Excel 2007,创建如图所示的内容。当然大家也可以根据自己的实际情况来选择练习的内容。在此为了讲解上的需要,特制作两列,第一列就“序号”,第二列是“名称”。

二、在“序号”的下面的单元格中输入"1”和"2".接着选中这两个单元格,将鼠标放到被选中的单元格的右下角,当鼠标变成"黑色十字"光标时,按时鼠标左键不放,同时拖动到内容的最后一行再释放鼠标.就会发现所有序号下面的单元格自动完成填充。

三、在序号在"3"的行上右击,选择"插入"选项来插入新行,
接着选择“序号”行下面"1"和"2"这两个单元格,将鼠标放到被选中的单元格的右下角,当鼠标变成"黑色十字"光标时,按时鼠标左键不放,同时拖动到内容的最后一行再释放鼠标.就会发现所有序号下面的单元格自动完成序号的填充。

四、在序号为“3”所在的行上右击,从弹出的菜单中选择“删除”选项,在弹出的窗口中选择“整行”,就会发现所有序号自动生成并有序。最后将序号为“3”的单元格公式复制到下面,就会发现所有序号列单元格又有序排列了。

本回答被网友采纳
第4个回答  2018-03-12

设置单元格格式


按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

第5个回答  2018-02-02
'注意:以下代码必须放在“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
相似回答