返回列表 上一主題 發帖

[發問] 分離單號

[發問] 分離單號

大大好,
E欄的單號,含有2個"-",作為分離基準,單號分離至R、S、T三欄中
T欄單號: 3碼+"-" (不足3碼,前面補0)
S欄單號: 4碼+"-" (不足4碼,前面補0)
R欄單號: 3碼 (不足3碼,前面補0)

ex:
採購單號碼        末碼        中間碼        單號
886-1215-283        283        1215-        886-
872-1305-017        017        1305-        872-
010-0105-547        547        0105-        010-

請問要如何寫這個程式?   分離單號_Split.rar (151.35 KB)
  1. Sub 分離單號()
  2. Dim xB As Workbook, R&, xD, Arr2, Arr3, Arr4
  3. R = Cells(Rows.Count, "E").End(xlUp).Row
  4. If R <= 2 Then Exit Sub
  5. Set xB = Workbooks("分離單號_Split.xlsx")
  6. With xB.Sheets("北區")
  7.      R = .Cells(Rows.Count, 1).End(xlUp).Row - 1
  8.     If R > 0 Then arr = Split([E2], "-")
  9.      If R > 0 Then Arr2 = Split([E2], "-").Resize(R).Value
  10.      If R > 0 Then Arr3 = Split([E2], "-").Resize(R).Value
  11.      If R > 0 Then Arr4 = Split([E2], "-").Resize(R).Value
  12. End With
  13.     xB.Sheets("北區").[r2].Resize(R).Value = Arr2
  14.     xB.Sheets("北區").[s2].Resize(R).Value = Arr3
  15.     xB.Sheets("北區").[t2].Resize(R).Value = Arr4
  16. Next
  17. End Sub
複製代碼

回復 3# n7822123
回復 2# singo1232001
回復 4# samwang

謝謝三位, 結果都很完美!
請問N大 (n7822123)
能否幫忙解說以下程式紅字? 我對UBound的數字對應很不理解@@
.NumberFormatLocal = "@"
ReDim Brr(1 To UBound(Arr), 1 To 3)
For R = 2 To UBound(Arr)

TOP

回復 7# 准提部林
好久不見....准大好,
程式運作OK

能否解紅字?
Arr = Range([g1], [e65536].End(3))
另程式中沒有R:T, 為何它能自動置入呢?

TOP

本帖最後由 PJChen 於 2021-7-6 00:56 編輯

回復 9# n7822123

執行後,覺得很抽象@@

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題