|
发表于 2016-7-4 14:50
|
显示全部楼层
本楼为最佳答案
本帖最后由 today0427 于 2016-7-4 14:52 编辑
两种方法自己选择,自定义函数方法在b2单元格输入公式 =cs($A$2,B3) 然后右拉就好了
- Function cs(bz As String, sj As Range) '自定义函数方法
- Dim reg, str$, mh
- Set reg = CreateObject("vbscript.regexp")
- str = "共(\d+)次.*?[:|,]" & bz
- reg.Pattern = str
- reg.MultiLine = True
- Set mh = reg.Execute(sj)
- cs = mh(0).submatches(0)
- End Function
- Sub zz()
- Dim reg, str$, mh, bz, ar, j%
- Set reg = CreateObject("vbscript.regexp")
- bz = Format([a2], "00")
- str = "共(\d+)次.*?[:|,]" & bz
- reg.Pattern = str
- reg.MultiLine = True
- ar = Range("b2:g3")
- For j = 1 To UBound(ar, 2)
- Set mh = reg.Execute(ar(2, j))
- ar(1, j) = Format(mh(0).submatches(0), "'@")
- Next
- [b2].Resize(1, UBound(ar, 2)) = Application.Index(ar, 1)
- End Sub
复制代码 |
评分
-
查看全部评分
|