在数组arr(i,j)里边,有以下几种类型的数据:
- 单个字母,如A
- 双字母,如CD
- 单个数字,如12
- 字母数字组合,如S23现在是要计算这些字符和数值的值,如果是单个字母,代表8,两个字母就算个数,单个数字就算值的总和,字母和数字组合就要把数字抽取出来计算总和。前面三种都实现了,就剩下字母数字组合不知道怎样从数组当中抽取数字出来计算。如下图附带结果,就是不知道怎样算出那个100来:求帮忙~

解决方案 »

  1.   

    简化一下,用一维数组来说明处理方式。
    Dim Num_Single_Letter As Long, Num_Double_Letter As Long, Num_Digit As Long, i As Long
    Dim Sum_Digit As LongDim strSource() As Variant    strSource = Array("A", "B", "S", "C", "D", _
                        "CD", "C12", "S15", "N20", "D", _
                        "B", "CD", "A", "S12", "N13", _
                        "C20", "A", "AC", "D", "08")    For i = 0 To UBound(strSource)
            If IsNumeric(Mid(strSource(i), 2)) Then
                Num_Digit = Num_Digit + 1
                Sum_Digit = Sum_Digit + Val(Mid(strSource(i), 2))
            Else
                If Len(strSource(i)) = 1 Then
                    Num_Single_Letter = Num_Single_Letter + 1
                Else
                    Num_Double_Letter = Num_Double_Letter + 1
                End If
            End If
        Next i
        
        MsgBox Num_Single_Letter & " 个单个字母," & Num_Single_Letter & "*8=" & Num_Single_Letter * 8 & vbCrLf & _
                Num_Double_Letter & " 个双字母,就是 " & Num_Double_Letter & " 个双字母咯。" & vbCrLf & _
                Num_Digit & " 个字母数组组合,值是 " & Sum_Digit & "。"