1、首先打开需要编辑的Excel表格,进入到编辑页面中。
2、然后点击打开主菜单栏开发工具中的“Visual Basic”选项。
3、还可以鼠标右键单击工作标签,选择打开“查看代码”。
4、然后在弹出来的窗口中点击输入:
Function REFIND(str, re)
Dim Reg As New RegExp
With Reg
.Global = True
.Pattern = re
Set matchs = .Execute(str)
For Each Match In matchs
y = y & " " & Match
Next
End With
'MsgBox y
REFIND = y
End Function5、然后运行就可以得到结果了。
软件版本:Office2007
方法如下:
1.利用正则表达式,提取A列的数字,并对数字求和:
2.Alt+F11,输入代码如下:
3.F5执行代码,返回Excel,得到结果:
Sub RegTest()
Dim oRegExp As Object
Dim oMatches As Object
Dim sText As String
sText = "柴塘河节制闸3300×4960平面钢闸门"
Set oRegExp = CreateObject("vbscript.regexp")
With oRegExp
.Pattern = "\D+(\d+)\D+(\d+)\D+"
Set oMatches = .Execute(sText)
Debug.Print oMatches(0).submatches(0) '第一个数
Debug.Print oMatches(0).submatches(1) '第二个数
End With
Set oRegExp = Nothing
Set oMatches = Nothing
End Sub
程序中sText字符串来源可以从单元格赋值,
Debug.Print可以将两个数改为赋值给两个变量。
Sub t()
s = "柴塘河节制闸3300×4960平面钢闸门"
Set regxp = CreateObject("vbscript.regexp")
With regxp
.Global = True
.Pattern = "\d+"
For Each m In .Execute(s)
Debug.Print m
Next
End With
End Sub