首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VBA: 怎么把数组里边的字母数字组合的数字取出来,并且计算呢

2013-11-02 
VBA: 如何把数组里边的字母数字组合的数字取出来,并且计算呢?在数组arr(i,j)里边,有以下几种类型的数据:-

VBA: 如何把数组里边的字母数字组合的数字取出来,并且计算呢?
在数组arr(i,j)里边,有以下几种类型的数据:
- 单个字母,如A
- 双字母,如CD
- 单个数字,如12
- 字母数字组合,如S23

现在是要计算这些字符和数值的值,如果是单个字母,代表8,两个字母就算个数,单个数字就算值的总和,字母和数字组合就要把数字抽取出来计算总和。

前面三种都实现了,就剩下字母数字组合不知道怎样从数组当中抽取数字出来计算。如下图附带结果,就是不知道怎样算出那个100来:

VBA: 怎么把数组里边的字母数字组合的数字取出来,并且计算呢

求帮忙~
[解决办法]
简化一下,用一维数组来说明处理方式。

Dim Num_Single_Letter As Long, Num_Double_Letter As Long, Num_Digit As Long, i As Long
Dim Sum_Digit As Long

Dim 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 & "。"

热点排行