返回列表 上一主題 發帖

[發問] 分離單號

回復 7# 准提部林


    謝謝論壇,謝謝前輩指導
後學藉此帖學到順迴圈裡逆著跑結果,這是後學這庸才從沒想過的,學習心得如下,請前輩再指導
執行前:


執行結果:



Option Explicit
Sub TEST_A1()
Dim Arr, i&, j%, Vr, TR
'↑宣告變數
Arr = Range([g1], [e65536].End(3))
'↑令Arr變數是二維陣列,以儲存格值帶入
Vr = Array("000-", "0000-", "000")
'↑令Vr變數是一維陣列
For i = 3 To UBound(Arr)
'↑設順迴圈i
    TR = Split(Arr(i, 1) & "--", "-")
    '↑令TR變數是一維陣列: Arr陣列值連接"--"成為新字串後,再以"-"分割該字串成
    '(索引號至少會有0~2)

    For j = 0 To 2
    '↑設順迴圈j
        Arr(i - 2, 3 - j) = IIf(IsNumeric(TR(j)), Format(TR(j), Vr(j)), "")
       '↑令原來的Arr陣列值從第1列開始寫入新陣列值
        'IIf():如果IsNumeric(TR(j))邏輯值是True,就回傳 Format(TR(j), Vr(j))字串,
        '否則回傳空字元
        'IsNumeric(TR(j)):TR陣列的j迴圈數索引號陣列值是不是數值?? 回傳True 或 False
        'Format(TR(j), Vr(j)):令TR陣列的j迴圈數索引號陣列值轉化成
        'Vr陣列的j迴圈數索引號陣列值規則的格式字串

    Next j
Next i
With [r3].Resize(UBound(Arr) - 2, 3)
'↑以下是關於[R3]儲存格擴展所需範圍儲存格的程序
     .NumberFormatLocal = "@"
     '↑令該範圍儲存格格式是 文字
     .Value = Arr
     '↑令該範圍儲存格值以Arr陣列值帶入
End With
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題