失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Excel VBA 实例(29) - 快速实现合并单元格的填充

Excel VBA 实例(29) - 快速实现合并单元格的填充

时间:2024-03-06 16:54:20

相关推荐

Excel VBA 实例(29) - 快速实现合并单元格的填充

将永恒君的百宝箱设为星标精品文章第一时间读

Excel表格里经常会出现合并的单元格,如果要对这些合并单元格的填充汇总的值,该怎么做?

如下图,需要将A、B、C零部件的重量汇总,填入“单重”单元格(N2),然后将数量*单重的结果填入总重(O2)。

观察一下可以看到,A、B、C的零部件个数不一样,也就是合并后的汇总单元格行数不一样,如果直接用填充单元格的方法是行不通的。

这里给大家分享两个解决的方法。

方法一:Ctrl+Enter

选中需要汇总的合并单元格(N2:N11),然后在公式栏里输入第一个合并单元格的公式(=SUM(I2:I5)),然后按Ctrl+Enter。总重的计算也是一样的。

方法二:VBA

原理和方法一基本相似,只是用代码表示出来了而已。

Row=[I2].End(xlDown).RowRange("B2:B"&Row).CopyRange("N2:N"&Row).SelectActiveSheet.PasteApplication.CutCopyMode=FalseRange("N2:N"&Row).FormulaR1C1="=SUM(OFFSET(RC[-5],0,0,MergeRowsCount(RC[-12])))"Range("O2:O"&Row).FormulaR1C1="=RC[-1]*RC[-4]"

其中MergeRowsCount()是自定义的函数,目的是用来计算合并单元格的行数。

MergeRowsCount=Rng.MergeArea.Rows.Count

效果如下,使用VBA有个好处就是,如果后面还有新增的内容需要汇总,直接一键即可实现。方法一的话则需要重新按Ctrl+Enter进行计算。

大家如果觉得实用,点个“在看”并分享给更多的朋友吧!

你可能还会想看:

Excel如何将数据逐一拆分成单行?

Excel VBA 实例(28) - 批量生成word报告

Excel VBA 实例(27) – 一键按列分类并保存单独文件

欢迎交流!

微信公众号:永恒君的百宝箱个人博客:

点个支持下永恒君吧!

如果觉得《Excel VBA 实例(29) - 快速实现合并单元格的填充》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。