加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ExcelVBA正则表达式提取中括号内容

(2014-05-18 15:57:06)
标签:

excel

vba

正则表达式

教育

分类: ExcelVBA

ExcelVBA正则表达式提取中括号内容

http://r.photo.store.qq.com/psb?/12a2072b-4146-4464-8f45-cf5d48096144/qLYbpF1*W25g*zrt3wgwuwVLZsxjV4azzYO0gJXqMbI!/o/dOYeUY0IJQAA&bo=UgOAApcEdQMDABM!&su=1217505601&rf=2-9

VBA代码如下:

Function 提取中括号内容(Rng As Range)

    With CreateObject("Vbscript.Regexp")

        .Global = True    'Global属性:查找范围:True全部查找,False只查找第1个,默认False

        .Pattern = "\d+|\[|\]"    'Pattern属性:书写正则表达式,默认为"

        提取中括号内容 = .Replace(Rng, "")       'Replace方法:将匹配成功的结果做替换。

    End With

End Function


Sub 正则表达式提取中括内容_雪山飞狐()

    Dim Arr, Brr, i As Integer

    Arr = Range("A1:A4").Value

    ReDim Brr(1 To UBound(Arr), 1 To 1)

    With CreateObject("Vbscript.Regexp")

        .Global = True    'Global属性:查找范围:True全部查找,False只查找第1个,默认False

        .Pattern = "\d+|\[|\]"    'Pattern属性:书写正则表达式,默认为"

        For i = 1 To UBound(Arr)

        Brr(i, 1) = .Replace(Arr(i, 1), "")      'Replace方法:将匹配成功的结果做替换。

        Next

    End With

    Range("E1").Resize(UBound(Arr), 1) = Brr

End Sub

 Excel中如何使用自定义函数
1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11”快捷键),打开Visual Basic编辑窗口。 
2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——模块1。 
3.在右边的“代码窗口”中输入以下代码: 
《自定义函数代码》
4.关闭窗口,自定义函数完成。 
以后可以像使用内置函数一样使用自定义函数。 
提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。

新浪博客:http://weibo.com/u/1139851561

百度空间:http://hi.baidu.com/335081548

往期精彩在:

腾讯(QQ)微博:http://t.qq.com/huangshifang?preview

更多分享请关注微信号

微信号:Excel335081548 或:

雪山飞狐Excel

喜欢本文,请点击右上角,分享本文。

或扫扫二维码

http://s14/mw690/001f8HsBgy6IYsvQ17n9d&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有