Excel精英培训网

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

[已解决]我想将上百个调查表汇总到汇总表中?我上附件,用什么方法都行,尽量简便些。因为...

[复制链接]
发表于 2014-12-14 21:59 | 显示全部楼层 |阅读模式
我想将上百个调查表汇总到汇总表中?我上附件,用什么方法都行,尽量简便些。因为我们调查表有可能有上万份。
最佳答案
2014-12-16 10:50
………………

表格.rar

4.51 KB, 下载次数: 15

发表于 2014-12-15 10:01 | 显示全部楼层
你应该在汇总表旁边建一个文件夹,把所有调查表放在里面。另外作为代码调试,你应该放个几张有数据的调查表。不要让人家把时间浪费在帮你填调查表上。
回复

使用道具 举报

 楼主| 发表于 2014-12-16 08:42 | 显示全部楼层
附件以完善,请大家帮忙。

表格(整理).rar

10.61 KB, 下载次数: 12

回复

使用道具 举报

发表于 2014-12-16 09:02 | 显示全部楼层
youmuqibing 发表于 2014-12-16 08:42
附件以完善,请大家帮忙。

上万份的工作表汇总,用VBA可能会直接卡死
回复

使用道具 举报

 楼主| 发表于 2014-12-16 09:58 | 显示全部楼层
JLxiangwei 发表于 2014-12-16 09:02
上万份的工作表汇总,用VBA可能会直接卡死

那怎么办啊???{:201:}
回复

使用道具 举报

发表于 2014-12-16 10:49 | 显示全部楼层
Sub Macro1()
Dim mypath$, wj$, arr(1 To 20000, 1 To 32)
Dim wb As Workbook, s&
mypath = ThisWorkbook.Path & "\"
wj = Dir(mypath & "*.xls*")
Application.ScreenUpdating = False
Do While wj <> ""
    If wj <> ThisWorkbook.Name Then
        s = s + 1
        Set wb = GetObject(mypath & wj)
        brr = wb.Sheets(1).Range("a2").CurrentRegion
        wb.Close 0
        arr(s, 1) = s
        arr(s, 2) = brr(10, 3)
        'arr(s, 3) = brr(8, 3)
        arr(s, 4) = brr(8, 3)
        arr(s, 5) = brr(1, 3)
        '以下类推
    End If
    wj = Dir
Loop
[a3:af20000].ClearContents
Range("a3").Resize(s, 32) = arr
Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

发表于 2014-12-16 10:50 | 显示全部楼层    本楼为最佳答案   
………………

新建文件夹.rar

16.65 KB, 下载次数: 27

回复

使用道具 举报

 楼主| 发表于 2014-12-16 11:13 | 显示全部楼层
谢谢,我试试。
回复

使用道具 举报

发表于 2014-12-16 12:46 | 显示全部楼层
youmuqibing 发表于 2014-12-16 11:13
谢谢,我试试。

几个表格没有问题的,几百个上千个,你试试看这代码,肯定会卡死的,要不就是运行1个小时不出来

点评

以上代码运行100次,用时32s,一般几百个表格是没有问题的  发表于 2014-12-16 15:10
回复

使用道具 举报

 楼主| 发表于 2014-12-16 15:57 | 显示全部楼层
谢了,很好用,我到时每次少汇总点。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 17:37 , Processed in 1.018960 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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