VBA中使用正则表达式进行拆分
来源:网络收集 点击: 时间:2024-05-04新建excel,双击打开。点击开发工具“VB”,进入工作界面,插入一个模块。

选择“工具/引用”菜单,选择“Microsoft VBScript Regular Express”;

在通用窗口输入代码:
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 = True True表示不区分大小写, False表示区分大小写
.Pattern = ()?()+|()+ 匹配字符模式
Set mMatches = .Execute(TargetRange.Text) 执行正则查找,返回所有匹配结果的集合,若未找到,则为空
For Each mMatch In mMatches
SumValueInText = SumValueInText + CDbl(mMatch.Value)
Next
End With
Set mRegExp = Nothing
Set mMatches = Nothing
End Function

保存我们的代码。这样就定义了一个SumValueInText的函数,可以运用于我们的表格之中。
5/6接下来我们在表格中进行测试一下。在B1单元格输入公式=SumValueInText(A1)得到了我们的值。

测试成功。
注意事项面的代码演示了用SumValueInText(TargetRange)函数遍历数组TargetRange取出目标字符串的方法。
如果你不需要查找多个对象,就把函数参数修改为TargeText,函数内部作相应的修改,如TargetRange.Text改为TargeText等等。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_667534.html