应用场景
返回单元格字符中的数值、字母、汉字
知识要点
1:CreateObject('VBSCRIPT.REGEXP')正则表达式:又称规则表达式,计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本
声明自定义函数取值,第一个参数是单元格或者字符串,第二参数用于指定取值的类型,包括-hz\ hz\-zm\ zm\-sz\ sz 6个选项
rng 表示单元格引用,types参数用于控制英文、数字和汉字,如果忽略第二参数,表示取数值
Function 取值(Rng, Optional Types As String = ' sz') As String
With CreateObject('VBSCRIPT.REGEXP') '引用正则表达式
.Global = True '全局变量
'指定搜索条件,如是第二参数左边有 “-”,那么取反(即去除指定的对象),否则提取指定的对象
'如果第二参数包括hz,那么计算对象的范围是,代表所有汉字,如果是sz,对象范围0-9代表所有数组,否则计算对象为字母,范围a-zA-Z
.Pattern = '[' & IIf(Left(Types, 1) = '-', '', '^') & IIf(Right(Types, 2) = 'hz', '一-隝]', IIf(Right(Types, 2) = 'sz', '0-9]', 'a-zA-Z]'))
取值 = .Replace(Rng, '') '替换掉不需要的字符
End With
End Function
联系客服