- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-5-5
|
12#
發表於 2023-11-30 10:47
| 只看該作者
回復 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 |
|