- 帖子
- 406
- 主題
- 8
- 精華
- 0
- 積分
- 453
- 點名
- 0
- 作業系統
- WINDOWS 7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2015-2-7
- 最後登錄
- 2021-7-31
|
3#
發表於 2021-7-5 00:31
| 只看該作者
回復 1# PJChen
看你原本的資料好像沒有需要補"0" 的地方?
Sub 分離單號()
Dim Arr, R&
Arr = Range([E2], [E2].End(4))
If Arr(UBound(Arr), 1) = "" Then Exit Sub '沒資料
Columns("R:T").NumberFormatLocal = "@"
ReDim Brr(1 To UBound(Arr), 1 To 3)
For R = 2 To UBound(Arr)
If Arr(R, 1) Like "*-*-*" Then
Brr(R, 1) = Split(Arr(R, 1), "-")(2)
Brr(R, 2) = Split(Arr(R, 1), "-")(1) & "-"
Brr(R, 3) = Split(Arr(R, 1), "-")(0) & "-"
If Len(Brr(R, 1)) < 3 Then Brr(R, 1) = String(3 - Len(Brr(R, 1)), "0") & Brr(R, 1)
If Len(Brr(R, 2)) < 5 Then Brr(R, 2) = String(5 - Len(Brr(R, 2)), "0") & Brr(R, 2)
If Len(Brr(R, 3)) < 4 Then Brr(R, 3) = String(4 - Len(Brr(R, 3)), "0") & Brr(R, 3)
End If
Next R
[R2].Resize(UBound(Brr), 3) = Brr
End Sub |
|