連續 & 不連續 之陣列處理方式ex:1~3,5,7,9~11
- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
連續 & 不連續 之陣列處理方式ex:1~3,5,7,9~11
各位大大如題,陣列內的數字已經會依照數字大小進行排序,由小至大
但要如何達到以下效果呢~?(陣列長度不一定)
假設陣列為
1,2,3,5,7,9,10,11 =>1~3,5,7,9~11
1,11=>1,11
5,6,8,9=>5~6,8~9
也就是上一個數字與這個數字是連續的就要用"~"表示,且省略中間數字
但若不是連續的,則以","顯示,且不得省略數字 |
|
|
PKKO
|
|
|
|
|
- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
回復 2# luhpro
感謝大大的回覆,但無法成功顯示,最後結果只會出現末幾碼而已 |
|
|
PKKO
|
|
|
|
|
- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
回復 4# GBKEE
感謝版大,完全正確!,且完全明白了!! |
|
|
PKKO
|
|
|
|
|
- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
Dear 只會出現尾數(8~9)- Sub nn()
- Dim iI%
- Dim lL&
- Dim sStr$
- Dim vA, vB
-
- 'vA = Array(1, 2, 3, 5, 7, 9, 10, 11)
- 'vA = Array(1, 11)
- vA = Array(1, 6, 8, 9)
- ReDim vB(0)
- lL = vA(0)
- sStr = lL
- For iI = 1 To UBound(vA)
- If vA(iI) <> lL + 1 Then
- If vA(iI - 1) <> sStr Then sStr = sStr & "~" & vA(iI - 1)
- vB(UBound(vB)) = sStr
- ReDim Preserve vB(UBound(vB) + 1)
- sStr = vA(iI)
- End If
- lL = vA(iI)
- Next
- If vA(UBound(vA)) <> sStr Then sStr = sStr & "~" & vA(iI - 1)
- vB(UBound(vB)) = sStr
- MsgBox vB(UBound(vB))
- End Sub
複製代碼 回復 6# bobomi |
|
|
PKKO
|
|
|
|
|
- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
|
感謝兩位超版的指教,以及bobomi 的提醒,原來是小弟疏忽了,感恩!! |
|
|
PKKO
|
|
|
|
|