ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 938|回复: 8

[求助] 帮忙解下汇总表将场所合并后按日期汇总每日总额

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-28 22:45 | 显示全部楼层 |阅读模式
本帖最后由 dagal 于 2018-7-29 00:36 编辑

test.rar (1.01 MB, 下载次数: 38) 以下代码只是天的总汇总,但不知要变成门店合并单元格后,在第二列开始是日期按天来汇总:
  1. Sub hz1()
  2.     Dim nRow%, Arr(), Brr(), m%, n%
  3.     Dim ds As Object
  4.     Set ds = CreateObject("Scripting.Dictionary")
  5.     With Sheets("sheet1")
  6.         nRow = .Range("d65536").End(xlUp).Row
  7.         Arr = .Range("a1:g" & nRow).Value
  8.     End With
  9.     ReDim Brr(1 To nRow, 1 To 5)
  10.     For i = 2 To nRow
  11.         n = ds(Arr(i, 1))
  12.         If n = 0 Then
  13.             m = m + 1
  14.             n = m
  15.             ds(Arr(i, 1)) = m
  16.             'Brr(m, 1) = m
  17.             Brr(m, 2) = Arr(i, 1)
  18.             Brr(m, 1) = Arr(i, 7)
  19.         End If
  20.         Brr(n, 3) = Brr(n, 3) + Arr(i, 4)
  21.         Brr(n, 4) = Brr(n, 4) + Arr(i, 5)
  22.         Brr(n, 5) = Brr(n, 5) + Arr(i, 6)
  23.         
  24.     Next
  25.     Brr(m + 1, 1) = "合计"
  26.     For i = 1 To m
  27.         Brr(m + 1, 3) = Brr(m + 1, 3) + Brr(i, 3)
  28.         Brr(m + 1, 4) = Brr(m + 1, 4) + Brr(i, 4)
  29.         Brr(m + 1, 5) = Brr(m + 1, 5) + Brr(i, 5)
  30.     Next
  31.     With Me
  32.         .Range("a3:e65536").ClearContents
  33.         .Range("a3:e65536").Borders.LineStyle = 0
  34.         .Range("a3:e" & m + 3).Value = Brr
  35.         .Range("a3:e" & m + 3).Borders.LineStyle = 1
  36.     End With
  37. End Sub
复制代码


TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-28 23:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 dagal 于 2018-7-29 10:48 编辑

1.png 2.png
就是将sheet1的数据转换成汇总表的形式,请各位大神指教,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-29 12:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-29 15:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub hz1()
  2.     Dim nRow%, Arr(), Brr(), m%, n%, js$
  3.     Dim ds As Object
  4.     Application.DisplayAlerts = False
  5.     Set ds = CreateObject("Scripting.Dictionary")
  6.     With Sheets("sheet1")
  7.         nRow = .Range("d65536").End(xlUp).Row
  8.         Arr = .Range("a1:g" & nRow).Value
  9.     End With
  10.     ReDim Brr(1 To nRow, 1 To 5)
  11.    
  12.     For i = 2 To nRow
  13.         js = CStr(Arr(i, 7) & Arr(i, 1))
  14.         If Not ds.exists(js) Then
  15.             n = n + 1
  16.             ds(js) = n
  17.             Brr(n, 1) = Arr(i, 7)
  18.             Brr(n, 2) = Arr(i, 1)
  19.             Brr(n, 3) = Arr(i, 4)
  20.             Brr(n, 4) = Arr(i, 5)
  21.             Brr(n, 5) = Arr(i, 6)
  22.         Else
  23.       
  24.             Brr(ds(js), 3) = Brr(ds(js), 3) + Arr(i, 4)
  25.             Brr(ds(js), 4) = Brr(ds(js), 4) + Arr(i, 5)
  26.             Brr(ds(js), 5) = Brr(ds(js), 5) + Arr(i, 6)
  27.    
  28.         End If
  29.     Next
  30.    
  31. Brr(n + 1, 1) = "合计"
  32. [a3].Resize(n + 3, 5).Value = Brr
  33. Range("A3:E" & n + 1).Sort Key1:=Range("A3:A" & n + 1), Order1:=xlAscending
  34. For m = n + 2 To 2 Step -1
  35.     If Cells(m, 1).Value = Cells(m - 1, 1).Value Then
  36.         Union(Cells(m, 1), Cells(m - 1, 1)).Merge
  37.     End If
  38. Next
  39.    
  40. With Sheets("汇总")
  41.     .Range("a3:e65536").Borders.LineStyle = 0
  42.     .Range("a3:e" & n + 3).Borders.LineStyle = 1
  43.     .Cells(n + 3, 3) = Application.WorksheetFunction.Sum(Range("C3:C" & n + 2))
  44.     .Cells(n + 3, 4) = Application.WorksheetFunction.Sum(Range("D3:D" & n + 2))
  45.     .Cells(n + 3, 5) = Application.WorksheetFunction.Sum(Range("E3:E" & n + 2))
  46. End With
  47. Application.DisplayAlerts = True
  48. End Sub

复制代码
按照你的代码改了一下,你看看这样可以不

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-7-29 16:41 | 显示全部楼层
本帖最后由 BenjaminToo 于 2018-7-29 17:26 编辑

以上,不知道有没错,你试下

TA的精华主题

TA的得分主题

发表于 2018-7-29 21:18 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-29 21:19 | 显示全部楼层
dagal 发表于 2018-7-28 23:53
就是将sheet1的数据转换成汇总表的形式,请各位大神指教,谢谢!

不知道对你的需求理解的是否正确:同样场所相同月份的数据累计汇总。

2018-07-29_211710.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-29 22:00 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-29 22:01 | 显示全部楼层
不知道为什么 发表于 2018-7-29 21:19
不知道对你的需求理解的是否正确:同样场所相同月份的数据累计汇总。

谢谢~给你送小花了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 04:14 , Processed in 0.025778 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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