计算文本字段中包含的值

时间:2017-01-12 12:13:13

标签: excel excel-vba vba

我的数据集中有一个描述字段,其中包含产品名称列表,并且在每个名称后面,我有一个存储在方括号内的数量值。

e.g。
产品一[2]
产品二[1]

我希望从方括号中提取数字并将它们加在一起。

我可以使用MID / FIND公式找到第一个值,但无法弄清楚如何查找并计算多个数量?

由于某些记录中包含大量产品,我无法拆分数据。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

可能有一个更干净的方法,但这可行(假设您正在查看单个单元格):

Public Function SumBrackets(rngSource As Range)
Dim strData As String
Dim dblSum As Double
Dim lngBracketStart As Long
Dim lngBracketEnd As Long
strData = rngSource.Value
Do While InStr(1, strData, "[") <> 0
    lngBracketStart = InStr(1, strData, "[")
    lngBracketEnd = InStr(1, strData, "]")
    dblSum = dblSum + Mid(strData, lngBracketStart + 1, lngBracketEnd - lngBracketStart - 1)
    strData = Mid(strData, lngBracketEnd + 1, Len(strData) - lngBracketEnd)
Loop

SumBrackets = dblSum
End Function