满意答案
a361467377
2018.11.16
采纳率:42% 等级:7
已帮助:860人
^Function SumValueInText(TargetRange As Range) As Double
Dim mRegExp As RegExp
Dim mMatches As MatchCollection '匹配字符串集合对象
Dim mMatch As Match '匹配字符串
Set mRegExp = New RegExp
With mRegExp
.Global = True 'True表示匹配所有, False表示仅匹配第一个符合项
.IgnoreCase = False 'True表示不区分大小写, False表示区分大小写
.Pattern = `content="[^"]+"` '匹配字符模式
Set mMatches = .Execute(TargetRange.Text) '执行正则查找,返回所有匹配结果的集合,若未找到,则为空
For Each mMatch In mMatches
SumValueInText = SumValueInText + CDbl(mMatch.Value.split(`"`)[1])
Next
End With
Set mRegExp = Nothing
Set mMatches = Nothing
End Function
上面的代码演示了用SumValueInText(TargetRange)函数遍历数组TargetRange取出目标字符串的方法。如果你不需要查找多个对象,就把函数参数修改为TargeText,函数内部作相应的修改,如TargetRange.Text改为TargeText等等。
00分享举报