1=100,3=200,10=300     
1=300,3=500,5=200,10=200 经过相加和排序之后的记录是这样: 
1=400,3=700,5=200,100=500 字段的左边数字列表是 1至99 . 
记录会有N条的 相加出来的最后可能是 
1=?,2=?,3=?,4=?,5=?,6=?,7=?,8=?,9=?,10=?,11=?,12=?,13=?,..............99=?.

解决方案 »

  1.   


    '设定有一个文本文件, 1.Txt
    '里面的内容格式是这样的: 一共二行.
    '1=100,3=200,10=300    
    '1=300,3=500,5=200,10=200 
    Option ExplicitDim Data As String
    Dim aData(1 To 99) As LongDim i As LongPrivate Sub Command1_Click()
      Dim Arr1() As String
      Dim Arr2() As String
      
      
      Open "C:\1.txt" For Input As #1
        While Not EOF(1)
          Line Input #1, Data
          Debug.Print Data
          Arr1 = Split(Data, ",")
          If UBound(Arr1) <> -1 Then
              For i = 0 To UBound(Arr1)
                 Arr2 = Split(Arr1(i), "=")
                 aData(CLng(Arr2(0))) = aData(CLng(Arr2(0))) + CLng(Arr2(1))
              Next
          End If
        Wend
      Close #1
      
      
      For i = 1 To 99
        If aData(i) <> 0 Then
           MsgBox i & "=" & aData(i)
        End If
      Next
    End Sub
      

  2.   

    1、建数组a(1 to 99)
    2、正则表达式,pattern:(\d*)=(\d*),?
    3、对号入座相加。
    4、输出结果.