利用正则表达式提取或删除汉字来源:excel格子社区在日常的工作应用中,我们经常与汉字打交道,下面这个自定义函数的功能,就是提取与删除字符串 或单元格中汉字的自定义函数:FunctionHanzi(rng,OptionalpdAsBoolean=True) AsString''''时间:2010-09- 28''功能:提取给定字符串(单元格)中汉字与非汉字集''说明:rng原字符串或单元格''?????pd??当为True时,提取汉 字(默认),否则提取非汉字。''发布:http://www.excelba.com'' WithCreateObject("VBSCRIPT.REGEXP").Global =TrueIfpdThen.Pattern="[^\u4e00-\u9fa5]"Else.Pattern=" [\u4e00-\u9fa5]"EndIfHanzi=.Replace(rng,"")EndWithEndFunc tion应用示例:设A1里的值为?excel吧-bengdeng欢迎您!2010年9月28日在B1设定公式:=Hanzi(A 1)结果为:吧欢迎您年月日在C1设定公式::=Hanzi(A1,0)结果为:excel-bengdeng!2010928除此 ,也可以利用到其它的程序中,如下面这段程序是去除当前工作表中所有的汉字:Sub去除当前工作表中的汉字()DimtRanAs RangeApplication.ScreenUpdating=FalseForEachtRanInActiveShe et.UsedRangetRan=Hanzi(tRan,0)NextApplication.ScreenUpdating =TrueEndSub1格子社区-Excel互助交流平台 |
|