打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
每日Excel分享(VBA)| 汉字、数字、字母与不规范字符提取

汉字、数字和字母是三种非常重要的字符串类型,在Excel中,关于这三种字符串类型的字符提取或字符去除是很常用的一种技巧,有些比较规范且规律单一的数据我们可以直接用函数公式提取字符,但是如果我们需要提取或去除不规范数据中的汉字、数字和字母,又该怎么做呢?


提取汉字


首先,按ALT F11弹出VBE窗口,然后新建模块,复制粘贴如下代码:

Function ZW(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^\u4e00-\u9fa5]'

  a.IgnoreCase = True

  a.Global = True

  ZW = a.Replace(i, '')

  Set a = Nothing

End Function


然后,函数公式如下:


=ZW(A2)


提取数字


首先,按ALT F11弹出VBE窗口,然后新建模块,复制粘贴如下代码:

Function SZ(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^0-9]'

  a.IgnoreCase = True

  a.Global = True

  SZ = a.Replace(i, '')

  Set a = Nothing

End Function


然后,函数公式如下:


=SZ(A2)


提取字母


首先,按ALT F11弹出VBE窗口,然后新建模块,复制粘贴如下代码:

Function ZM(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^A-Z^a-z]'

  a.IgnoreCase = True

  a.Global = True

  ZM = a.Replace(i, '')

  Set a = Nothing

End Function


然后,函数公式如下:


=ZM(A2)


去掉汉字


首先,按ALT F11弹出VBE窗口,然后新建模块,复制粘贴如下代码:

Function SZZM(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^A-Z^a-z^0-9]'

  a.IgnoreCase = True

  a.Global = True

  SZZM = a.Replace(i, '')

  Set a = Nothing

End Function


然后,函数公式如下:


=szzm(A2)


去掉数字


首先,按ALT F11弹出VBE窗口,然后新建模块,复制粘贴如下代码:

Function ZWZM(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^\u4e00-\u9fa5^A-Z^a-z]'

  a.IgnoreCase = True

  a.Global = True

  ZWZM = a.Replace(i, '')

  Set a = Nothing

End Function


然后,函数公式如下:


=ZWZM(A2)


去掉字母


首先,按ALT F11弹出VBE窗口,然后新建模块,复制粘贴如下代码:

Function ZWSZ(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^\u4e00-\u9fa5^0-9]'

  a.IgnoreCase = True

  a.Global = True

  ZWSZ = a.Replace(i, '')

  Set a = Nothing

End Function


然后,函数公式如下:


=ZWSZ(A2)


Function ZWSZ(i As String) As String

  Dim a As Object

  Set a = CreateObject('VBSCRIPT.REGEXP')

  a.Pattern = '[^\u4e00-\u9fa5^0-9]'

  a.IgnoreCase = True

  a.Global = True

  ZWSZ = a.Replace(i, '')

  Set a = Nothing

End Function

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
问与答89:如何识别含有硬编码的公式单元格?
VBE中工作簿/工作表属性内容介绍
fso应用中的几个小函数-asp教程-asp学习网
一个VB下载文件函数
牛!花了24小时研究的Excel万能公式,真强大
《神奇的VBA》编程:获取硬件相关信息
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服