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

转:excel去掉或提取单元格中的数字、字母、汉字

(2011-09-23 10:56:36)
标签:

杂谈

分类: excel
Excel中去掉或提取单元格中的汉字、字母和数字。
    打开excel,alt+F11,右侧你的文件VBAProject(***.xls),右击“插入--模块--双击模块,把下面代码粘贴进去,保存退出。重新打开excel,启用宏,就可以用了。具体,在A2单元格中输入    =取值(A1,"-zm)     就可以得到去掉字母的内容了。2007的也类似。

    Function 取值(rng, types As String) As String
    Dim obj As Object
    Set obj = CreateObject("VB script .REGEXP")
    With obj
        .Global = True
        If types = "-hz" Then
            .Pattern = "[一-﨩]"
        ElseIf types = "-zm" Then
            .Pattern = "[a-zA-Z]"
        ElseIf types = "-sz" Then
            .Pattern = "\d"
        ElseIf types = "+hz" Then
            .Pattern = "[^一-﨩]"
        ElseIf types = "+zm" Then
            .Pattern = "[^a-zA-Z]"
        ElseIf types = "+sz" Then
            .Pattern = "[^0-9]"
        End If
        取值 = .Replace(rng, "")
    End With
End Function

'使用说明:
'去汉字输入公式   =取值(A2,"-hz")
'取汉字输入公式   =取值(A2,"+hz")
'去字母输入公式   =取值(A2,"-zm")
'取字母输入公式   =取值(A2,"+zm")
'去数字输入公式   =取值(A2,"-sz")
'取数字输入公式   =取值(A2,"+sz")
http://www.kaixin001.com/repaste/157772_3517552975.html

0

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

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

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

新浪公司 版权所有