Excel精英培训网

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

[已解决]求助帮忙修改遍历同一文件夹所有文件(包含子文件夹)的代码

[复制链接]
发表于 2017-2-2 23:28 | 显示全部楼层 |阅读模式
同一文件夹所有文件已经能取数到新工作表中的指定位置,但子文件夹中的文件不能读取,请各位老师帮忙,谢谢!
最佳答案
2017-2-3 10:46
你试试,如满意,请设最佳。

同一文件夹所有工作簿取数.rar

33.7 KB, 下载次数: 11

发表于 2017-2-3 10:46 | 显示全部楼层    本楼为最佳答案   
你试试,如满意,请设最佳。

同一文件夹所有工作簿取数 父子法.zip

68.49 KB, 下载次数: 46

回复

使用道具 举报

 楼主| 发表于 2017-2-3 16:47 | 显示全部楼层
乐乐2006201506 发表于 2017-2-3 10:46
你试试,如满意,请设最佳。

非常感谢你的帮助!!!完美!!
回复

使用道具 举报

 楼主| 发表于 2017-2-3 16:56 | 显示全部楼层
乐乐2006201506 发表于 2017-2-3 10:46
你试试,如满意,请设最佳。

您好!再次非常感谢您!!还有一个问题请教您。现在遍历的是所有文件夹(包括子文件夹)中工件簿中的第一个工作表。如果工作簿中有其他工作表(如Sheet2),需要如何取数,能实现吗?要怎么修改?再次谢谢您!!
回复

使用道具 举报

发表于 2017-2-4 08:57 | 显示全部楼层
gdxtx 发表于 2017-2-3 16:56
您好!再次非常感谢您!!还有一个问题请教您。现在遍历的是所有文件夹(包括子文件夹)中工件簿中的第一 ...

现在可以提取每个工作簿中所有有数据工作表数据,但需要注意的是,有数据工作表之间不能有空白工作表,否则后边工作表中数据无法提取。

同一文件夹所有工作簿取数 父子法所有非空工作表.rar

50.49 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2017-2-4 11:12 | 显示全部楼层
本帖最后由 gdxtx 于 2017-2-4 11:19 编辑
乐乐2006201506 发表于 2017-2-4 08:57
现在可以提取每个工作簿中所有有数据工作表数据,但需要注意的是,有数据工作表之间不能有空白工作表,否 ...

非常感谢您!我经过测试。父文件夹中最少要有一个工作簿可以取数,后面才能进入子文件夹去遍历工作簿,否则出错。即是父文件夹中不能只有子文件夹和“汇总”工作簿。经过您这次修改,不但能读工作簿中所有非空工作表,同时也解决了父文件夹中到少要有一个工作簿的问题,您太棒了!!再次感谢您!
回复

使用道具 举报

发表于 2017-2-4 11:30 | 显示全部楼层
gdxtx 发表于 2017-2-4 11:12
非常感谢您!我经过测试。父文件夹中最少要有一个工作簿可以取数,后面才能进入子文件夹去遍历工作簿,否 ...

不客气,我刚刚开始学习VBA,只是善于保存而已。共同进步!
回复

使用道具 举报

发表于 2017-2-20 21:14 | 显示全部楼层
gdxtx 发表于 2017-2-4 11:12
非常感谢您!我经过测试。父文件夹中最少要有一个工作簿可以取数,后面才能进入子文件夹去遍历工作簿,否 ...

解决了有数据工作表中间不能有空表的问题。

同一文件夹所有工作簿取数 父子法所有非空工作表 - 完美跳空表.rar

54.44 KB, 下载次数: 18

回复

使用道具 举报

 楼主| 发表于 2017-2-22 23:35 | 显示全部楼层
本帖最后由 gdxtx 于 2018-2-26 18:27 编辑
乐乐2006201506 发表于 2017-2-20 21:14
解决了有数据工作表中间不能有空表的问题。

您真是太棒了,非常感谢!!我还有一个问题想请教您,我日常用这个方法遍历文件夹的文件很多(大约有1000多个文件),实际操作起来遍历时间很长,不知道有没有什么办法能提速?

您好,祝您新年快乐!!您帮我写的这个遍历文件,里面现在需要调整到700左右,我把所有72都改为700就出错了。不知道要在哪里调整才不会出错。我试了一下,调整数最大只能修改到256,
Dim arr(1 To 1000, 1 To 256)

[a2].Resize(5000, 256).ClearContents
[a2].Resize(5000, 256).Borders.LineStyle = xlNone
[a2].Resize(i1, 256) = arr
[a2].Resize(i1, 256).Borders.LineStyle = 1

如果256写到257就不行了,请您有空帮我看看是哪个地方限制了,谢谢!
回复

使用道具 举报

发表于 2017-2-23 06:05 | 显示全部楼层
这个提速空间不大,不打开文件复制,应该可以快些。有空了给你看看。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 18:54 , Processed in 0.168737 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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