在做一个表格 要提取出其它(好几百个)文件夹里面的excel 表格内容到
答案:3 悬赏:0 手机版
解决时间 2022-01-01 01:32
- 提问者网友:留有余香
- 2021-12-31 08:43
在做一个表格 要提取出其它(好几百个)文件夹里面的excel 表格内容到同一个表格里面!有什么快速的方法 谢谢
最佳答案
- 五星知识达人网友:迟山
- 2022-01-10 02:32
将这些文件copy到一个文件夹(只有这些Excel,且若打开某一文件,数据就能看见——即不用点其他sheet),建一新Excel,也存到该文件夹。仅打开该新Excel,按Alt+F11,左边窗口右键点,插入模块,在右边窗口粘贴如下代码:
Sub Find()
Application.ScreenUpdating = False
Dim MyDir As String
MyDir = ThisWorkbook.Path & "\"
ChDrive Left(MyDir, 1) 'find all the excel files
ChDir MyDir
Match = Dir$("")
Do
If Not LCase(Match) = LCase(ThisWorkbook.Name) Then
Workbooks.Open Match, 0 'open
ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1) 'copy sheet
Windows(Match).Activate
ActiveWindow.Close
Match = Dir$
End If
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub
按F5执行此宏,文件copy完成。
然后可以用sum(sheet12:sheet30!A1)汇总了。
如果数据只有几列的话,可以直接用宏copy到一张工作表中。
Sub Find()
Application.ScreenUpdating = False
Dim MyDir As String
MyDir = ThisWorkbook.Path & "\"
ChDrive Left(MyDir, 1) 'find all the excel files
ChDir MyDir
Match = Dir$("")
Do
If Not LCase(Match) = LCase(ThisWorkbook.Name) Then
Workbooks.Open Match, 0 'open
ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1) 'copy sheet
Windows(Match).Activate
ActiveWindow.Close
Match = Dir$
End If
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub
按F5执行此宏,文件copy完成。
然后可以用sum(sheet12:sheet30!A1)汇总了。
如果数据只有几列的话,可以直接用宏copy到一张工作表中。
全部回答
- 1楼网友:英雄的欲望
- 2022-01-10 03:05
假设你的目录在 d:\ws01
用dos命令解决:
点开始-运行,输入cmd回车,在弹出窗口下输入下面命令:
d:
cd\ws01
dir /b /s >\xxx.xls
exit
打开我的电脑-d盘,有一个名为xxx的文件,打开它里面有你想要的东东。
注:想要其它格式的文件名:
打开cmd窗口,执行下面
dir /?
*************************************
很少有人用dos命令喽!!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯