ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: csong

[求助] 单个表汇总问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-3-13 17:27 | 显示全部楼层
如上描述,各位大神怎么修改代码,可以实现这个功能
源数据.JPG
VB数据.JPG

TA的精华主题

TA的得分主题

发表于 2017-3-13 17:40 | 显示全部楼层
CHIYNU 发表于 2017-3-13 17:25
大神,我也有遇到类似的问题,但是如果求和那一列有好几列需要汇总求和 怎么改代码呢

你的要 “求和”的话 就不能用这个代码。另传数据文件上来吧。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-3-13 19:09 | 显示全部楼层
lsc900707 发表于 2017-3-13 16:57
你这个汇总只要简单的复制过来就ok了。
代码放汇总工作表代码区:
Sub 汇总()

谢谢,大神,很完美能解决了,再请教下能否变为只是对从左边开始的第一个表的数据汇总

TA的精华主题

TA的得分主题

发表于 2017-3-13 19:16 | 显示全部楼层
csong 发表于 2017-3-13 19:09
谢谢,大神,很完美能解决了,再请教下能否变为只是对从左边开始的第一个表的数据汇总


代码放汇总工作表代码区:
Sub 汇总()
    UsedRange.Offset(1, 0).ClearContents
    Sheets(1).UsedRange.Offset(1, 0).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-3-13 19:21 | 显示全部楼层
lsc900707 发表于 2017-3-13 19:16
代码放汇总工作表代码区:
Sub 汇总()
    UsedRange.Offset(1, 0).ClearContents

大神,你这个是简单的拷贝,我的数据可能有上千行,还有重复的也需要汇总。

TA的精华主题

TA的得分主题

发表于 2017-3-13 19:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
csong 发表于 2017-3-13 19:21
大神,你这个是简单的拷贝,我的数据可能有上千行,还有重复的也需要汇总。

那你到底是合并还是汇总求和呀,看你附件就是合并数据

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-3-13 19:52 | 显示全部楼层
lsc900707 发表于 2017-3-13 19:31
那你到底是合并还是汇总求和呀,看你附件就是合并数据

不好意思,让你误解了,是汇总求和。就是将V2表的内容汇总到汇总表,V1表是备份的过期数据,每次备份都要新建个表,所以只对左边的第一个表汇总,如果用表名称的方法汇总容易弄错,所以想按照左边第一个表的方式进行汇总更好。

TA的精华主题

TA的得分主题

发表于 2017-3-13 20:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
csong 发表于 2017-3-13 19:52
不好意思,让你误解了,是汇总求和。就是将V2表的内容汇总到汇总表,V1表是备份的过期数据,每次备份都要 ...

Sub 汇总()
    Dim Arr, i%, j%, d, k%, Brr(), k1
    Set d = CreateObject("scripting.dictionary")
    With Sheets(1)
        Arr = .[a1].CurrentRegion
        For i = 2 To UBound(Arr)
            d(Arr(i, 1) & "@" & Arr(i, 2) & "@" & Arr(i, 3)) = d(Arr(i, 1) & "@" & Arr(i, 2) & "@" & Arr(i, 3)) + Arr(i, 4)
        Next
    End With
    k1 = d.keys
    ReDim Brr(0 To d.Count, 1 To 3)
    For i = 0 To d.Count - 1
        Brr(i, 1) = Split(k1(i), "@")(0)
        Brr(i, 2) = Split(k1(i), "@")(1)
        Brr(i, 3) = Split(k1(i), "@")(2)
    Next
    With Sheets("汇总")
        .UsedRange.Offset(1).ClearContents
        .[a2].Resize(d.Count, 3) = Brr
        .[d2].Resize(d.Count, 1) = Application.Transpose(d.items)
    End With
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-3-13 20:09 | 显示全部楼层
lsc900707 发表于 2017-3-13 20:02
Sub 汇总()
    Dim Arr, i%, j%, d, k%, Brr(), k1
    Set d = CreateObject("scripting.dictionary" ...

大神,谢谢了!!!!!!

TA的精华主题

TA的得分主题

发表于 2017-3-14 13:27 | 显示全部楼层
lsc900707 发表于 2017-3-13 17:40
你的要 “求和”的话 就不能用这个代码。另传数据文件上来吧。

Hi 大神帮忙看看呢。
就是想根据每个零件把每个月的需求都能自动算出来.
感激不尽啊

Test.zip

7.65 KB, 下载次数: 9

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-26 23:42 , Processed in 0.041784 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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