数组a:
a(1) = "1,2"
a(2) = "1,100"
a(3) = "1"
....
数组b:
b(1) = "21"
b(2) = "55"
b(3) = "97"转化成
数组a:
a(1) = "1"
a(2) = "2"
a(3) = "100"
数组b:
b(1) = "21,55,97"
b(2) = "21"
b(3) = "55"

解决方案 »

  1.   


    Private Sub Form_Load()
    Dim a(3) As String
    Dim b(3) As String
    Dim i As Integer
    a(0) = 1
    a(1) = "1,2"
    a(2) = "1,100"
    a(3) = "1"
    b(0) = "21,55,97"b(1) = "21"
    b(2) = "55"
    b(3) = "97"
     For i = 1 To UBound(a)
    a(i) = Replace(a(i), "1,", "")
    Next
    For i = UBound(a) To 1 Step -1
    a(i) = a(i - 1)
    Next
     For i = 1 To UBound(a)
     Debug.Print a(i)
    Next
    Debug.Print "-----------"
    For i = 1 To UBound(b)
    b(i) = Replace(b(i), "1,", "")
    Next
    For i = UBound(b) To 1 Step -1
    b(i) = b(i - 1)
    Next
     For i = 1 To UBound(b)
     Debug.Print b(i)
    Next
    End Sub
      

  2.   

    LZ的意思可能是
    数组a,按序排列好依次存入数组a
    数组b,按序排列好,第一个元素替换成保存整个序列,后边的依次存入数组b
    排序的算法有很多,LZ可自行选择,排序后的存放也很容易,LZ可以一步步来
      

  3.   

    Option Explicit
    '窗体上放一个 ListBox,属性 Sorted = True。可以设置为 Visible = False。Private Declare Function SendMessagebyString Lib _
    "user32" Alias "SendMessageA" (ByVal hWND As Long, _
    ByVal wMsg As Long, ByVal wParam As Long, _
    ByVal lParam As String) As LongPrivate Const LB_FINDSTRINGEXACT = &H1A2    '在 ListBox 中精确查找Dim a(1 To 3) As String, b(1 To 3) As String
    Dim i As Integer, j As Integer, n As IntegerPrivate Sub Command1_Click()
    Array_Split aFor i = 1 To 3
        Debug.Print a(i)
    Next ia(1) = "1,2"
    a(2) = "1,100"
    a(3) = "1"
    End SubPrivate Sub Command2_Click()
    Array_Join bFor i = 1 To 3
        Debug.Print b(i)
    Next ib(1) = "21"
    b(2) = "55"
    b(3) = "97"
    End SubPrivate Sub Form_Load()
    a(1) = "1,2"
    a(2) = "1,100"
    a(3) = "1"b(1) = "21"
    b(2) = "55"
    b(3) = "97"
    End SubPrivate Sub Array_Split(ByRef strArr() As String)
    Dim strTmp() As StringList1.Clear
    For i = LBound(strArr) To UBound(strArr)
        strTmp = Split(strArr(i), ",")
        For j = LBound(strTmp) To UBound(strTmp)
            strTmp(j) = Format(Trim(strTmp(j)), "00000")
            If -1 = SendMessagebyString(List1.hWND, LB_FINDSTRINGEXACT, -1, strTmp(j)) Then List1.AddItem strTmp(j)
        Next j
    Next in = LBound(strArr)
    For i = 0 To List1.ListCount - 1
        strArr(n + i) = CStr(Val(List1.List(i)))
        If n + i = UBound(strArr) Then Exit For
    Next i
    End Sub
    Private Sub Array_Join(ByRef strArr() As String)
    Dim strTmp() As StringList1.Clear
    For i = LBound(strArr) To UBound(strArr)
        strArr(i) = Format(Trim(strArr(i)), "00000")
        If -1 = SendMessagebyString(List1.hWND, LB_FINDSTRINGEXACT, -1, strArr(i)) Then List1.AddItem strArr(i)
    Next in = LBound(strArr)
    strArr(n) = ""
    For i = 0 To List1.ListCount - 1
        strArr(n) = strArr(n) & IIf(strArr(n) > "", ",", "") & CStr(Val(List1.List(i)))
        If n + i < UBound(strArr) Then strArr(n + i + 1) = CStr(Val(List1.List(i)))
    Next i
    End Sub
      

  4.   

    Private Sub Form_Load()
    Dim a(3) As String
    Dim b(3) As String
    Dim i As Integer
    a(0) = 1
    a(1) = "1,2"
    a(2) = "1,100"
    a(3) = "1"
    b(0) = "21,55,97"b(1) = "21"
    b(2) = "55"
    b(3) = "97"
     For i = 1 To UBound(a)
    a(i) = Replace(a(i), "1,", "")
    Next
    For i = UBound(a) To 1 Step -1
    a(i) = a(i - 1)
    Next
     For i = 1 To UBound(a)
     Debug.Print a(i)
    Next
    Debug.Print "-----------"
    For i = 1 To UBound(b)
    b(i) = Replace(b(i), "1,", "")
    Next
    For i = UBound(b) To 1 Step -1
    b(i) = b(i - 1)
    Next
     For i = 1 To UBound(b)
     Debug.Print b(i)
    Next
    End Sub
      

  5.   

    数组a: 
    a(1) = "1,2" 
    a(2) = "1,100" 
    a(3) = "1" 
    将用空串置换掉得
    a(1) = "2" 
    a(2) = "100" 
    a(3) = "1" 
    a(1)赋给a(2),a(2)的原值赋给a(3),a(3)的原值赋给a(1)得
    a(1) = "1" 
    a(2) = "2" 
    a(3) = "100" 
    数组b:
    b(0) = "21,55,97"
    b(1) = "21" 
    b(2) = "55" 
    b(3) = "97"
    轮换赋值得
    b(1) = "21,55,97" 
    b(2) = "21" 
    b(3) = "55"
     
      

  6.   


    LZ的意思可能是:
    根据数组a中的字符串(逗号分隔),找出数组a中不重复的数值,并按升序排列。