【VBA案例009】合并单元格汇总
大家好!今天分享一下遇到合并单元格的处理思路。
工作中,为了方便查看数据,很多朋友习惯性的把单元格合并起来,这样使得表格看起来清晰美观了不少。但这样做的同时,会给以后的计算增加很多困难。
比如下边:要计算产品的总库存。
当我们要对合并单元格进行汇总统计的时候,总会遇到很多问题。其实只要你明白合并单元格的底层逻辑之后,问题就会变的简单起来。
合并单元格:其实只保留了区域左上角的一个值,其他位置都是空的。
明白原理之后,我们再来看下VBA代码,详细解析请看文末视频。
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