VBA: 如何把数组里边的字母数字组合的数字取出来,并且计算呢?
在数组arr(i,j)里边,有以下几种类型的数据:
- 单个字母,如A
- 双字母,如CD
- 单个数字,如12
- 字母数字组合,如S23
现在是要计算这些字符和数值的值,如果是单个字母,代表8,两个字母就算个数,单个数字就算值的总和,字母和数字组合就要把数字抽取出来计算总和。
前面三种都实现了,就剩下字母数字组合不知道怎样从数组当中抽取数字出来计算。如下图附带结果,就是不知道怎样算出那个100来:
求帮忙~
[解决办法]
简化一下,用一维数组来说明处理方式。
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 & "。"