Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3531|回复: 7

如何快速对几百个数据表进行汇总统计?谢谢!

[复制链接]
发表于 2018-8-7 16:54 | 显示全部楼层 |阅读模式
本帖最后由 kangkangtianxia 于 2018-8-15 09:49 编辑

本人工作关系,需要对几百个数据表进行汇总统计,每个工作簿的表格与汇总表格的格式有一点点出入。
如上表:此处为汇总表,其中B列数据为固定的,需对多个工作簿的数据进行汇总统计。而在单独的数据工作簿表格中,关于“废物类别及名称”列(对应为C列)的数据有可能跟汇总表对应列的一样多(10项),也可能只有其中几项。
麻烦各位高人指点一下,用vba快速进行统计。。本人不胜感激!!

如何快速统计多个工作簿的数据?.rar

30.28 KB, 下载次数: 13

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2018-8-8 10:17 | 显示全部楼层
  1. Sub tj()
  2.     Set d = CreateObject("scripting.dictionary")
  3.     [c5:L14].ClearContents
  4.     arr = Range("a5:l14")
  5.     For i = 1 To UBound(arr)
  6.         d(arr(i, 2)) = i
  7.     Next
  8.    
  9.     Application.ScreenUpdating = False
  10.     Dim Filename, wb As Workbook, Sht As Worksheet
  11.     Filename = Dir(ThisWorkbook.Path & "\*.xls")
  12.     Do While Filename <> ""
  13.         If Filename <> ThisWorkbook.Name Then
  14.             fn = ThisWorkbook.Path & "" & Filename
  15.             Set wb = Workbooks.Open(fn)
  16.             brr = wb.Worksheets(1).[a1].CurrentRegion
  17.             For k = 5 To UBound(brr)
  18.                 i = d(brr(k, 3))
  19.                 If i > 0 Then
  20.                     For j = 1 To 5
  21.                         arr(i, j + 2) = arr(i, j + 2) + brr(k, j + 6)
  22.                     Next
  23.                     arr(i, 8) = arr(i, 7)
  24.                     For j = 1 To 4
  25.                         arr(i, j + 8) = arr(i, j + 8) + brr(k, j + 13)
  26.                     Next
  27.                 End If
  28.             Next
  29.             wb.Close False
  30.         End If
  31.         Filename = Dir
  32.     Loop
  33.     Range("a5:l14") = arr
  34.     Application.ScreenUpdating = True
  35. End Sub
复制代码

如何快速统计多个工作簿的数据?.rar

37.05 KB, 下载次数: 47

评分

参与人数 1 +3 收起 理由
kangkangtianxia + 3 感谢你的解答!只是还有个小小的请求,能否.

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2018-8-8 10:53 | 显示全部楼层

非常感谢!谢谢!有个小小的请求,能否加个备注??谢谢
回复

使用道具 举报

 楼主| 发表于 2018-8-14 16:00 | 显示全部楼层

大师,非常感谢你的解答!
现在有个新问题,就是在某一行中出现带单位(中文字)的情况,如何也可以统计算上呢??谢谢。。期待你的解答

如何快速统计多个工作簿的数据? (1).rar

30.85 KB, 下载次数: 4

回复

使用道具 举报

发表于 2018-9-21 11:04 | 显示全部楼层
把22行的 brr(k, j + 6)改成vak(brr(k, j + 6)),25行的也照此处理。

如何快速统计多个工作簿的数据?.rar

36.96 KB, 下载次数: 19

回复

使用道具 举报

发表于 2018-9-21 11:04 | 显示全部楼层
这个网站老是出问题,都不怎么来了。
回复

使用道具 举报

发表于 2018-9-21 15:26 | 显示全部楼层

请阅读:c.raqsoft.com.cn/article/1537345021751?r=sjr
关于excel的各种数据处理问题均可简单几行代码解决
QQ联系:184305475
回复

使用道具 举报

 楼主| 发表于 2019-1-7 18:33 | 显示全部楼层
grf1973 发表于 2018-9-21 11:04
把22行的 brr(k, j + 6)改成vak(brr(k, j + 6)),25行的也照此处理。

感谢答复、、谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 05:59 , Processed in 0.204678 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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