vba公式 数出英文个数,数出数字个数

(AAA)111组111(我我我)以上一串文字放在A1位置,我要分别算出这个文字串有几个英文字母和有几个数字... (AAA) 111组 111 (我我我)
以上一串文字放在A1位置,我要分别算出这个文字串有几个英文字母和有几个数字
展开
 我来答
真真真白丁
2014-09-18 · TA获得超过8521个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1736万
展开全部

亲,这个用自定义函数吧,如下图位置插入一个新模块,然后右边粘贴代码。

用法:=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
【名臣】f2
2014-09-18 · TA获得超过1913个赞
知道大有可为答主
回答量:1594
采纳率:0%
帮助的人:1539万
展开全部
这个用正则就行了
追问
可以详细点嘛??
追答
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)  返回结果

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式