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

使用ExcelVBA正则表达式提取中文与数字

(2014-05-10 21:52:22)
标签:

excel

vba

正则表达式

分类: ExcelVBA
钳钻324h铣刨1026h铆 如何将A1单元格的相关数据利用正则表达式输入到c列的区域:规律:提取h字符前的2位汉字及数值。 钳钻 324h
铸热金钳钻594h铣刨1134h铆 铣刨 1026h
铆数割机器手金铣刨1695h钳工565h铆 钳钻 594h

铣刨 1134h

铣刨 1695h

钳工 565h

问题的提出:

如何将A1单元格的相关数据利用正则表达式输入到C列D列的区域;

规律:提取h字符前的2位汉字及数值。

http://s12/mw690/001f8HsBzy6IM65v0GTfb&690

VBA代码如下:

Sub 提取中文与数值()
    Dim Arr, i&, K&, Brr, Str
    ReDim Brr(1 To Rows.Count, 1 To 2)
    Arr = Range(Range("A1"), Range("A1").End(xlDown)).Value
    With CreateObject("VBScript.RegExp")
        For i = 1 To UBound(Arr)
            .Global = True
            .Pattern = "[一-龥]{2}\d+h"
            For Each Str In .Execute(Arr(i, 1))
                K = K + 1
                Brr(K, 1) = Left(Str, 2)
                Brr(K, 2) = Mid(Str, 3)
            Next
        Next
    End With
    Range("C:D").ClearContents
    Range("C1").Resize(K, 2) = Brr
End Sub

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

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

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

更多分享请关注微信号

微信号:Excel335081548 或: 雪山飞狐Excel

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

或扫扫二维码

http://s1/mw690/001f8HsBzy6IM66NWHSa0&690

0

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

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

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

新浪公司 版权所有