excel vba 带合并单元格的求和

如果单元格内只有数字可以使用分列将数字提取到多个单元格,之后再用求和公式获得结果 。不过,如果单元格内既有数字 , 又有文字,最好就是按照下面的方法来求和了 。
步骤1:
如图 , 在第一个单元格手动提取所有数字 , 数字之间用“+”连接 , 然后,向下填充,选择“快速填充”,这样就会得到数字相加的数学式子了 。

excel vba 带合并单元格的求和

步骤2:
1. 输入公式“=”=”&B1”,然后将此公式复制给剩下的那几个单元格,就会得到加法式子,只是等号显示在左边 。注意 , 公式中的双引号是英文半角双引号 , 使用中文的双引号,将得不到正确的结果哦 。
excel vba 带合并单元格的求和

2. 复制这个加法式子,选择性粘贴为数值 。3. 选中粘贴后的单元格,依次点击“数据”——“分列”——“完成”,就会得到所有的求和结果啦 。
excel vba 带合并单元格的求和

excel vba 带合并单元格的求和

补充:
也可以将步骤2的公式修改我为“=”t=”&B1” , 接着复制“t=数学式子”所在单元格 , 选择性粘贴为“数值”,最后不需要分列,直接将“t”替换掉 , 也可以得到单元格中所有数字的求和结果 。
excel vba 带合并单元格的求和

用这种方法不仅可以求和,提取数字时使用不同的运算符,也可以进行其他运算哦 。

大致有两种方法:一种是使用分列功能将数字提取出来 , 然后在使用sum求和公式即可;另一种是使用VBA自定义一个函数来实现这一功能 。公式法的话要是数字之间的空格数不一样的话还不好写公式 。

方法一:
按照下面的步骤进行操作即可 。
excel vba 带合并单元格的求和


excel vba 带合并单元格的求和

excel vba 带合并单元格的求和

接下来对提取出来的数字进行求和即可!
excel vba 带合并单元格的求和

方法二:
具体代码如下:
Function SumNum(Rng As Range)
Dim RegEx As Object, Mat As Object
Dim m, x
Set RegEx = CreateObject(“Vbscript.Regexp”)
Application.Volatile
With RegEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = “d+”
Set Mat = .Execute(Rng)
For Each m In Mat
x = x + Val(m)
Next
End With
SumNum = x
End Function
只需输入自定义公式=SumNum(C29)即可,得到的结果如下 , 与第一种方法的结果是一样的 。
【excel vba 带合并单元格的求和】
excel vba 带合并单元格的求和

但是方法二还有一个特殊的技能就是当单元格的内容的混合型文本的话它也能够完成计算 , 如下所示,单元格中同时包含中文、英文、数字记忆其他字符它依然能够完成计算!这是方法一办不到的 。
excel vba 带合并单元格的求和

更多职场、办公技能等干货和有趣实用的软件推荐,欢迎关注“乐享所知”头条号,查阅历史文章,获取更多干货、实用插件等等!
excel vba 带合并单元格的求和

经验总结扩展阅读