【发布时间】:2021-06-03 14:27:26
【问题描述】:
我对 SO 和 google 进行了广泛的研究,但没有提出解决方案。 虽然这个问题之前可能已经问过,但我的情况略有不同
如果文本和数字之间有空格,该函数可以正常工作。但是,如果没有空格,则不起作用。
Function SumNumbers(rngS As Range, Optional strDelim As String = " ") As Double
Dim xNums As Variant, lngNum As Long
xNums = Split(rngS, strDelim)
For lngNum = LBound(xNums) To UBound(xNums) Step 1
SumNumbers = SumNumbers + Val(xNums(lngNum))
Next lngNum
End Function
我的单元格数据如下所示:su9m11w11.5th8
我尝试添加一个字母数组,但没有成功。欢迎帮助。
strDelim = Array("F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "U")
【问题讨论】:
-
你想要的输出是什么?另外,会不会有负数,比如:
5xyz-10abc7? -
@JvdV 我想跳过字母并对数字求和。所以在这个例子中,我的输出应该是 39.5
-
此时没有负数。但是我猜,如果求和成功,负数会自动从总和中扣除正确吗?
标签: excel vba user-defined-functions