本帖最后由 爱疯 于 2013-12-11 16:38 编辑
Sub Total()
Dim A, B, i%, j%
With Sheet2
.Range("f4:g38").ClearContents
A = .Range("A1:a" & .Cells(.Rows.Count, 1).End(3).Row)
B = .Range("E2:G38")
For i = 3 To UBound(B)
If B(i, 1) <> "" Then
For j = 2 To UBound(A)
If InStr(A(j, 1), B(i, 1)) Then
If InStr(A(j, 1), "Dr") Then B(i, 2) = B(i, 2) + GetNumber(A(j, 1))
If InStr(A(j, 1), "Cr") Then B(i, 3) = B(i, 3) + GetNumber(A(j, 1))
End If
Next j
End If
Next i
.Range("e2").Resize(UBound(B), UBound(B, 2)) = B
End With
End Sub
Function GetNumber(s) As Long
Dim i%, n%
n = Len(s)
For i = n To 1 Step -1
If VBA.IsNumeric(Mid(s, i, n)) Then GetNumber = Mid(s, i, n) Else Exit For
Next i
End Function
555f.rar
(42.73 KB, 下载次数: 12)