有个已做好的excel销售订单格式,需要在填写信息完成后保存自动生成一个单据编码,形式为201204000X 5

只要能实现此功能就ok,有点像勤哲excel一样能记录历史流水号,大概VBA就可以处理:如填写完其他信息后另存为另外excel时候生成一个单据码,或者有无其他更好的方式请... 只要能实现此功能就ok,有点像勤哲excel一样能记录历史流水号,大概VBA就可以处理:如填写完其他信息后另存为另外excel时候生成一个单据码,或者有无其他更好的方式请大家帮忙 展开
 我来答
chaohua008
2012-04-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5800
采纳率:14%
帮助的人:3011万
展开全部
如果每次打开表格时此单据州竖码自己改变,可以不用VBA,只用EXCEL公式就行了,比如在A1格中生成一个闷迹困包括日期的编码,可以在A1中输入公式=YEAR(NOW()) & RIGHT("00"&MONTH(NOW()),2) & RIGHT("00"&DAY(NOW()),2) & "001"
如果想每次打开表格后,此单据码是不能改变的,就要用VBA了,在VBA窗口中左侧找到Thisworkbook项目,输入蚂念下面代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("sheet2").Range("a1") = Year(Now()) & Right("00" & Month(Now()), 2) & Right("00" & Day(Now()), 2) & "001"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czyjy2012
2012-04-19 · TA获得超过3766个赞
知道大有可为答主
回答量:6452
采纳率:40%
帮助的人:2310万
展开全部
Sub setRndNum()
t = Timer
Randomize
Dim myArr
Range("a1") = 1
Range("a1").DataSeries 2, , , 1, 10000
myArr = Range("a1:a10000")

For i = 1 To 10000
a = Int(Rnd() * 10000) + 1
temp = myArr(i, 1)
myArr(i, 1) = myArr(a, 1)
myArr(a, 1) = temp
Next

Range("a1:a10000") = myArr
[c1] = Timer - t
End Sub

这段代祥腊码是扮茄从别处抄来的,不明白可以去搜如厅宴察何生成随机数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式