求高手帮写在EXCEL中去汉字、字母、符号计算的宏代码

 我来答
真真真白丁
推荐于2016-12-03 · TA获得超过8523个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1762万
展开全部

亲,这个用VBA编写一个自定义函数可以解决。代码如下。

 

打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧空白处点击右键,“插入”,“模块”。右侧空白处粘贴下面的代码。关闭VBA窗口。

然后在B2输入:=QH(A2)

下拉公式。

 

 

Function QH(rng As Range) As Double
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
Dim s As String
Dim sArr
Dim i As Long
Dim rg As Range
For Each rg In rng
    s = rg.Value
    With regex
        .Global = True
        .Pattern = "[^0-9]"
        s = .Replace(s, "☆")
    End With
    sArr = Split(s, "☆")
    For i = 0 To UBound(sArr)
        If IsNumeric(sArr(i)) Then QH = QH + --sArr(i)
    Next
    Erase sArr
Next
Set regex = Nothing
End Function
skyzxh

2014-12-29 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8344
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
应该是去掉汉字,字母,计算符号不能去掉
用正则吧
追问
大神帮忙写一下啊,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hlhcygs
2014-12-29 · TA获得超过3174个赞
知道大有可为答主
回答量:2987
采纳率:66%
帮助的人:1947万
展开全部
格式都是一样的吗?都是“物品”后面跟金额然后跟个+号吗?如果格式是这样的话用公式就可以了。还有单项最高金额是多少?
追问
怎么用?
追答
=SUMPRODUCT(TEXT(LEFT(TEXT(MID(A1&"a",COLUMN(1:1),ROW($1:$99)),),ROW($1:$99)-1),"[];;0;!0")*ISERR(-MID(A1,COLUMN(1:1)-1,2)))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式