BOM0001中流水号自动累加,VBA怎么写? BOM0001 BOM0002 ... 以此类推

如题所述

第1个回答  2016-11-02
其实我想说你这个BOM到了100是BOM0100还是BOM000100?
如果是BOM000100那随意。
如果是BOM0100那就用循环加判断

以后者[A]列为BOM列为例:
Sub bom()
Dim i, flag

i = 1 ‘如果有表头的话就把i=1改成i=2
flag = True

Do While flag
If Cells(i, "B") <> "" Then
If i < 10 Then
Cells(i, "A") = "BOM000" & i
ElseIf i < 100 Then
Cells(i, "A") = "BOM00" & i
ElseIf i < 1000 Then
Cells(i, "A") = "BOM0" & i
Else
Cells(i, "A") = "BOM" & i
End If
Else
flag = False
End If
i = i + 1
Loop

End Sub
第2个回答  2016-11-02
假如流水号在a列,顺序排列
range("a" & ([a1048576].end(xlup).row+1))="BOM" & format(val([a1048576].end(xlup))+1,"0000")本回答被提问者和网友采纳
第3个回答  2016-11-02
oldbh="BOM0001"
newbh="BOM" & text(val(replace(oldbh,"BOM",""))+1,"0000")追问

你能写个SUB 吗?
就在一页里显示在A列,
显示"BOM0001~BOM0100"