【VBA案例009】合并单元格汇总

大家好!今天分享一下遇到合并单元格的处理思路。

工作中,为了方便查看数据,很多朋友习惯性的把单元格合并起来,这样使得表格看起来清晰美观了不少。但这样做的同时,会给以后的计算增加很多困难。

比如下边:要计算产品的总库存。

当我们要对合并单元格进行汇总统计的时候,总会遇到很多问题。其实只要你明白合并单元格的底层逻辑之后,问题就会变的简单起来。

合并单元格:其实只保留了区域左上角的一个值,其他位置都是空的。

明白原理之后,我们再来看下VBA代码,详细解析请看文末视频。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub 汇总()

Dim i, j, k
Dim ar

ar = Range("a1:c" & [c65536].End(3).Row)

Dim d As Object, kw$
Set d = CreateObject("Scripting.Dictionary")
'd.CompareMode = vbTextCompare '不区分大小写

For i = 2 To UBound(ar)
If ar(i, 1) = "" Then ar(i, 1) = ar(i - 1, 1)
d(ar(i, 1)) = d(ar(i, 1)) + ar(i, 3)
Next
[F2].Resize(d.Count) = Application.WorksheetFunction.Transpose(d.keys)
[g2].Resize(d.Count) = Application.WorksheetFunction.Transpose(d.items)

End Sub

原始链接


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 richffan@outlook.com

文章标题:【VBA案例009】合并单元格汇总

字数:305

本文作者:Rich Fan

发布时间:2023-10-23, 00:00:00

最后更新:2024-02-27, 08:17:39

原始链接:http://fanrich.github.io/2023/10/22/VBA/VBA%E6%A1%88%E5%88%97/%E3%80%90VBA%E6%A1%88%E4%BE%8B009%E3%80%91%E5%90%88%E5%B9%B6%E5%8D%95%E5%85%83%E6%A0%BC%E6%B1%87%E6%80%BB/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。