返回列表 上一主題 發帖

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

本帖最後由 GBKEE 於 2014-11-17 16:08 編輯

回復 3# PKKO
試試看
  1. Option Explicit
  2. '1,2,3,5,7,9,10,11 =>1~3,5,7,9~11
  3. Sub Ex()
  4.     Dim Ar(), i As Integer, S As String, Msg As Boolean
  5.     Ar = Array(1, 2, 3, 5, 6, 9, 10, 11, 15)
  6.     S = Ar(0)
  7.     For i = 0 To UBound(Ar)
  8.         If i = UBound(Ar) Then
  9.             If Ar(i) - 1 = Ar(i - 1) Then S = S & Ar(i)
  10.         ElseIf Ar(i) + 1 <> Ar(i + 1) Then
  11.             If Msg Then S = S & Ar(i) & "," & Ar(i + 1)
  12.             If Msg = False Then S = S & "," & Ar(i + 1)
  13.             Msg = False
  14.         ElseIf Ar(i) + 1 = Ar(i + 1) Then
  15.            Msg = True
  16.            S = S & IIf(Right(S, 1) <> "~", "~", "")
  17.         End If
  18.     Next
  19.     MsgBox S
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# PKKO
是可以的
  1.   vB(UBound(vB)) = sStr
  2.     MsgBox Join(vB, ",")
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題