excel表vba每页自动生成序号(用EXCELVBA做一个采购单)
我们需要一个采购单,能实现部分自动功能,我来为大家科普一下关于excel表vba每页自动生成序号?以下内容希望对你有帮助!
excel表vba每页自动生成序号
我们需要一个采购单,能实现部分自动功能
1. 单号自动填写,以“采购”首字母“CG”开头 当天日期 三位自动编号,保证单号唯一不能有任何重复
2. 自动填写填单日期
3. 建立供应商供应信息并能快捷插入
4.能保存过往单据内容
5. 能复盘过往单据
一:单据格式
单据格式
1. 先实现红色色部分功能
打开文档,就要自动填写单号和日期;要打开文档即执行VBA,那么代码就得写在THISWORKBOOK页面
准备:
a> 建立一个叫“采购单”的工作表
b> 右击工作表下方名称部位-》查看代码
c> 双击“thisworkbook”弹出的代码页输入下列代码
文档页面
Private Sub workbook_open()
'下面自动填写日期,格式为年/月/日
dates = Application.Text(Now(), "yyyy/mm/dd")
Sheets("采购单").Range("e6").Value = "日期:" & dates
'格式化日期为字符串,取消反斜杠年/月/日变为年月日
d = Replace(dates, "/", "")
'获取单号里的日期,A2表格内容的第9个字符往后8位长度
d0 = Mid(Sheets("采购单").Range("a2").Value, 9, 8)
'获取当前单号尾缀,A2内容字符从右数起三位数
st = Right(Sheets("采购单").Range("a2").Value, 3)
'判断是否为数字,不是数字就出错了
If IsNumeric(Right(st, 1)) Then
'日期相同尾缀自动 1,表示今天你第二次打开准备录第二张单,每打开一次都自动加1
If d <> d0 Then
nst = 1
Else
'输出数字类型
nst = CInt(st)
nst = nst 1
End If
'格式化,让数字保持为三位数
nst = Format(nst, "000")
'如果原来已经有单号,则自动填写更改后的单号
Sheets("采购单").Range("a2").Value = "采购方单号:" & "CG" & d & nst
Else
'如果原来A2格是空白的,则自动填写为001的单号
Sheets("采购单").Range("a2").Value = "采购方单号:" & "CG" & d & "001"
End If
End Sub
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com