Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

你正在寻找更好的Excel学习教程吗?Excel技巧80集+数据透视表+函数初中高全套+VBA80集,想学的这儿全都有
查看: 68|回复: 2

[求助] 求助VBA多条件唯一项求和问题,谢谢了

[复制链接]
发表于 2017-12-7 17:37 | 显示全部楼层 |阅读模式
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
见附表,“第1页”表为源数据,“结果”表为取得的结果。
需求:判断“第1页”表中A到K列(除L列数值那一列)完全一样的,对L列求和合并放入“结果”表中。  最后“结果”表中,除L列会重复,其他各列均不重复。

将  “第1页”源数据中的 M 到 P 列的数值也取到“结果”表中

小弟实在不会修改zjdh老师您前期给编写的代码,能否帮助再修改一下呢,谢谢了
导入模板.rar (9.32 KB, 下载次数: 2)
发表于 2017-12-7 19:10 | 显示全部楼层
本帖最后由 zjdh 于 2017-12-7 19:20 编辑

Sub TEST()
    ARR = Sheets("第1页").Range("A2:P" & Sheets("第1页").Range("A65536").End(3).Row)
    ReDim BRR(1 To UBound(ARR), 1 To UBound(ARR, 2))
    Set D = CreateObject("scripting.dictionary")
    For I = 1 To UBound(ARR)
        W = ""
        For J = 1 To 11
            W = W & "|" & ARR(I, J)
        Next
        For J = 13 To 16
            W = W & "|" & ARR(I, J)
        Next
        If Not D.exists(W) Then
            N = N + 1
            D(W) = N
            For J = 1 To 16
                BRR(N, J) = ARR(I, J)
            Next
        Else
            BRR(D(W), 12) = BRR(D(W), 12) + ARR(I, 12)
        End If
    Next
    Sheets("结果").Range("A1").CurrentRegion.Offset(1).ClearContents
    Sheets("结果").Range("A2").Resize(N, 16) = BRR
    MsgBox "数据汇总完毕!"
End Sub
回复 支持 反对

使用道具 举报

发表于 2017-12-7 19:24 | 显示全部楼层
导入模板.rar (18.1 KB, 下载次数: 3)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2018-1-16 23:40 , Processed in 0.051201 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表