vba公式 数出英文个数,数出数字个数
(AAA)111组111(我我我)以上一串文字放在A1位置,我要分别算出这个文字串有几个英文字母和有几个数字...
(AAA) 111组 111 (我我我)
以上一串文字放在A1位置,我要分别算出这个文字串有几个英文字母和有几个数字 展开
以上一串文字放在A1位置,我要分别算出这个文字串有几个英文字母和有几个数字 展开
2个回答
展开全部
亲,这个用自定义函数吧,如下图位置插入一个新模块,然后右边粘贴代码。
用法:=COUNTABC123(单元格,参数)
参数为两种:“a”——统计字母,不分大小写;“1”——统计数字
Function CountABC123(rng As Range, s As String) As Long
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
With regex
.Global = True
.IgnoreCase = True
If LCase(s) = "1" Then .Pattern = "\d"
If LCase(s) = "a" Then .Pattern = "[a-z]"
CountABC123 = .Execute(rng).Count
End With
Set regex = Nothing
End Function
展开全部
这个用正则就行了
追问
可以详细点嘛??
追答
Function zftj(rng)
Set reg1 = CreateObject("VBSCRIPT.REGEXP")
Set reg2 = CreateObject("VBSCRIPT.REGEXP")
reg1.Pattern = "\d{1}"
reg2.Pattern = "[A-Za-z]{1}"
reg1.Global = True
reg2.Global = True
Set sz = reg1.Execute(rng)
Set zm = reg2.Execute(rng)
zftj = "数字:" & sz.Count & "个 字母:" & zm.Count & "个"
Set sz = Nothing
Set zm = Nothing
End Function
自定义函数,输入=zftj(a1) 返回结果
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询