|
领导开新帖了,呵呵,我对公式不熟悉,只会用Sum,平时也不常用excel,哈哈
既然可以用函数,我就来个自定义函数吧,主要思路和你们说的一样,就是找 “计” 和“元”字,程序里面使用了递归

附件已经修改
result.rar
Public Function SumNum(R As String) As Double
Dim Loc计 As Integer, Loc元 As Integer
SumNum = 0
R = Trim$(R)
If R = "" Then Exit Function
Loc计 = InStr(R, "计")
Loc元 = InStr(R, "元")
If Loc计 * Loc元 = 0 Then Exit Function
If Loc计 < Loc元 Then
Dim C1 As String
C1 = Trim$(Mid$(R, Loc计 + 1, Loc元 - Loc计 - 1))
If IsNumber(C1) Then SumNum = C1
End If
If Loc元 < Len(R) Then SumNum = SumNum + SumNum(Right$(R, Len(R) - Loc元))
End Function
Private Function IsNumber(C As String) As Boolean
Const CharSet = "+-.,0123456789eE"
Dim i As Integer
IsNumber = False
If C = "" Or Not IsNumeric(C) Then Exit Function
For i = 1 To Len(C)
If InStr(CharSet, Mid$(C, i, 1)) = 0 Then Exit Function
Next i
IsNumber = True
End Function |
|