EXCEL问题求教
- CJJTexcel做的送货单,每个客户一个文件,送货单编号是:年份+客户编号+送货单编号,比如第5个客户第六次送货,现在编号2019005006,送货单编号每个客户独立的,在打开工作表时自动加1,每年在1月1日时又从001开始计数,如何实现每年1月1日时送货单编号自动从001开始计数?求高手指导,谢谢
- bestzhen打开工作表时自动加1?这个不太合理吧,你这个需求其实可以找人写个vba,可以填写订单、自动汇总订单
- insnct这需求不合理啊,万一误开了不是错乱了,应该是新订单编号在上面加1。然后这个你应该放具体的表出来,口头描述不太容易说清楚。
- killme2008这个要写VBA程序,打开表格+1的条件最好进一步明确操作流程,不然日常操作容易出错。
- flewrudy为何不用一个按钮控制?每次打开加一也太容易出错了吧,最好是打开确认创建新订单,顺便检查一下其他信息
- yxmr你对自己的表达能力太自信了,建议还是上个Excel的sample
- 大部头书每个客户一年最多送999次货
- qwjhb自动加一参考这个复制代码
- Private Sub Workbook_Open()
- Dim newID As Long, oldID As String
- oldID = Worksheets(1).Range("A1").Value
- 'A1单元格取后六位,加上1
- newID = Strings.Right(oldID, 6) + 1
- 'A1单元格取前三位,7位数的newID取后六位
- Worksheets(1).Range("A1") = Strings.Left(oldID, 3) + Strings.Right(1000000 + newID, 6)
- End Sub
https://my.oschina.net/h2do/blog/531570 - Private Sub Workbook_Open()
- yxmr为啥oldid是long,newid是string,这个有啥讲究吗?
- qwjhblong能直接+1吧 大概这种直接上电脑试好了
- killme2008你说反了,
newid是long,oldid是string
oldid取单元格里的编号,文本类型可以避免编号前面的“0”作为无效数字被过滤掉了。
newid在程序上看着只参与数值运算,这样赋值没毛病。 - ppalm文件名以送货单编号命名,以当前年份加客户编号搜索文件,新单号为年份加客户编号加符合条件文件总数加1即可,年份一变,自然归零,算法都不用变