level 1
Option Explicit
Sub 宏1()
Dim arr, arr1, arr2(1 To 10000, 1 To 1), x&, f&, ff$, i&, j&, m&, n&, s$
f = 5 '编码末尾序号的位数
ff = "00000" '0的个数同 f
x = 0 '生成结果行数
arr1 = Range("a1").CurrentRegion
For i = 1 To UBound(arr1)
arr = Split(arr1(i, 1), "~")
If UBound(arr) = 1 Then
s = Left(arr(0), Len(arr(0)) - f)
m = Right(arr(0), f) '开始序号
n = Right(arr(1), f) '结束序号
For j = m To n
x = x + 1
arr2(x, 1) = s & Format(j, ff)
Next j
End If
Next i
Range("b1").Resize(x, 1) = arr2
End Sub
2024年05月28日 00点05分


