打开APP
userphoto
未登录

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

开通VIP
自定义函数之提取汉字 | ExcelFans
userphoto

2016.11.04

关注

自定义函数之提取汉字

2015年09月13日 ? Excel 杂记 ? 共 1106字 ? 字号 ? 暂无评论 ? 阅读 973 次
本文非原创,属网络收集
 

从字符串中提取或者删除汉字是在我们日常使用 Excel 中时常遇到的问题,这里提供一个从网络上收集而来的提取或者删除汉字的自定义函数,方便大家日常使用。

   
'---------------------------------------------------'功能:提取字符串中汉字或者非汉字'说明:Rg  原字符串或单元格'      Et  为True时,提取汉字,否则为提取非汉字'发布:http://www.excelfans.com'---------------------------------------------------Function ExtractHanzi(Rg As Variant, _                      Optional Et As Boolean = True) As String    With CreateObject("VBSCRIPT.REGEXP")        .Global = True        If Et Then            .Pattern = "[^\u4e00-\u9fa5]"        Else            .Pattern = "[\u4e00-\u9fa5]"        End If        ExtractHanzi = .Replace(Rg, "")    End WithEnd Function
    

实际应用:

  • 作为一个函数使用在工作表的公式中,如:单元格 A1 的值为 "ExcelFans.com 欢迎你",然后我们在 A2 中键入公式 =ExtractHanzi(A1),显示结果为:欢迎你:

  • 把它用到其他的代码中,以下代码就是去除所选定区域中的所有汉字
'---------------------------------------------------'功能:删除选定区域中所有汉字'发布:http://www.excelfans.com'---------------------------------------------------Sub DelAllHanzi()    Dim Rg As Range, Rg1 As Range    Dim xAddress As String    On Error Resume Next    xAddress = ActiveSheet.UsedRange.Address    Set Rg = Application.InputBox("请选择一个区域:", "ExcelFans.com", xAddress, , , , , 8)    If Rg Is Nothing Then Exit Sub    Set Rg = Application.Intersect(Rg, ActiveSheet.UsedRange)    If Rg Is Nothing Then Exit Sub    For Each Rg1 In Rg        Rg1 = ExtractHanzi(Rg1, False)    NextEnd Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
自学资料(Excel VBA)[收集整理3]
vba编程基础1
你知道吗?VB将一串字符串反向输出最快捷的方式!
C语言char字符串与中文编码的坑
制作工资条没有比这个更简单的
vb6如何把特定的字符替换成其他的字符
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服