【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

原始链接

目录:
Categories
程技
Tags
VBA