返回列表 上一主題 發帖

連續 & 不連續 之陣列處理方式ex:1~3,5,7,9~11

  1. Sub ex()
  2. Dim Ay()
  3. ar = Array(1, 2, 3, 5, 7, 9, 10, 11, 13, 14, 15) '不連續陣列
  4. For i = 0 To UBound(ar) - 1 ''不處理最後元素
  5.    j = i
  6.    x = ar(j)
  7.       Do Until ar(j) + 1 <> ar(j + 1)
  8.          j = j + 1
  9.          If j = UBound(ar) Then Exit Do
  10.       Loop
  11.    y = ar(j)
  12.    i = j
  13.    ReDim Preserve Ay(s)
  14.    Ay(s) = IIf(x = y, x, x & "~" & y)
  15.    s = s + 1
  16. Next
  17. If j = UBound(ar) - 1 Then '處理最後元素
  18. ReDim Preserve Ay(s)
  19. Ay(s) = ar(UBound(ar))
  20. End If
  21. MsgBox Join(Ay, ",")
  22. End Sub
複製代碼
回復 7# PKKO
學海無涯_不恥下問

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題