例子:
111-554-142-211 ...
315-524-544-114 ...
351-778-454-414 ...
 ...列相加意思:
111+315+351 ...=777
554+524+778 ...=777
142+544+454 ...=1140
211+114+414 ...=739
得出结果如下(列与列相加 得出结果):
777-1856-1140-739说明:‘省略号’表示不固定“行”“列”

解决方案 »

  1.   

    用split以“-”为分隔符把字串分割到数组,然后累加即可
      

  2.   

    假定你的文本是在 .txt 文件中:Dim sum1 As Long, sum2 As Long, sum3 As Long, sum4 As Long
    Dim strLine As String, strItem() As StringOpen App.Path & "\test.txt" For Input As #1
    Do Until EOF(1)
        Line Input #1, strLine
        strItem = Split(strLine, "-")
        If Ubound(strItem) = 3 Then
            sum1 = sum1 + Val(strItem(0))
            sum2 = sum2 + Val(strItem(1))
            sum3 = sum3 + Val(strItem(2))
            sum4 = sum4 + Val(strItem(3))
        End If
    Loop
    Close #1Debug.Print CStr(sum1) & "-" & CStr(sum2) & "-" CStr(sum3) & "-" & CStr(sum4)
      

  3.   

    同一个文件中,你的列数必须一致吧?
    Dim sum() As Long, i As Long
    Dim strLine As String, strItem() As String  Open App.Path & "\test.txt" For Input As #1 
    Line Input #1, strLine
    strItem = Split(strLine, "-")
    Redim sum(Ubound(strItem))    '测试列数
    for i = 0 To Ubound(sum)
        sum(i) = Val(strItem(i))
    Next i
    Do Until EOF(1)
        Line Input #1, strLine
        strItem = Split(strLine, "-")
        If Ubound(strItem) = Ubound(sum) Then
            For i = 0 To Ubound(sum)
                sum(i) = sum(i) + Val(strItem(i))
            Next i
        End If
    Loop
    Close #1
    strLine = ""
    for i = 0 To Ubound(sum)
        strLine = strLine & IIf(i = 0, "", "-") & CStr(sum(i))
    Next i
    Debug.Print strLine
      

  4.   

    对不起!谢谢你!这个怎么改成 strLine=text1 '手动输入值 然后计算