楼主 minren118 |
可能还不是十分智能,因为是自用的,所以汇总文件的地址写死了,下载后自己改一下地址和批量导入的文档格式就可以生效。 Sub 批量打开() Application.ScreenUpdating = False ActiveSheet.UsedRange.Clear 'MsgBox ActiveSheet.UsedRange.Address Dim wenjian As String wenjian = Dir("E:\google下载\*csv") Do i = i + 1 Application.StatusBar = "现在是" & i & "次先循环" If wenjian = Empty Then Exit Do Workbooks.Open Filename:="E:\google下载\" & wenjian Dim M, N As Integer On Error Resume Next With ActiveSheet If WorksheetFunction.CountA(.Cells) <> 0 Then ActiveSheet.UsedRange.Copy End If worksheetname = .Name End With ThisWorkbook.Sheets(1).Activate a = Range("A" & Rows.Count).End(xlUp).Row Range("C" & a + 1).Select ActiveSheet.Paste b = Range("C" & Rows.Count).End(xlUp).Row Set rng1 = Range(Cells(a + 1, 1), Cells(b, 1)) rng1.Value = wenjian rng1.Offset(0, 1).Value = worksheetname Application.DisplayAlerts = False Workbooks(wenjian).Close False Application.DisplayAlerts = True wenjian = Dir() Loop Kill "E:\google下载\*csv" ThisWorkbook.Sheets(1).Range("A2").CurrentRegion.Select Application.ScreenUpdating = True End Sub wenjian = Dir("E:\google下载\*csv") Workbooks.Open Filename:="E:\google下载\" & wenjian Kill "E:\google下载\*csv" 把代码中的这三个位置改回自己的文件夹位置及文件类型, 我这里的是csv文件,如果其他03版改为xls,07版文件改为xlsx,因为我一般是从系统导出的,都是csv格式的文件。 合并多个工作薄数据.zip |
2楼 minren118 |
这个只汇总一个工作薄的第一个工作表,因为我一直用的是导出的数据,一般导出的数据只有一个工作表。 |
3楼 水星钓鱼 |
很好,学以致用就是应该这样。 |
4楼 oldyuan |
分享快乐!感谢楼主!刚好一起学习,呵呵! |
5楼 minren118 |
感谢版主的鼓励,一直有这样的愿望,能够把自己掌握的实用的知识与更多人来分享,让更多人享受到高效办公、办公自动化的乐趣,特别感谢千解图书帮助我自己能够成长起来,现在可以反哺后辈们。 |
6楼 hustclm |
有启发,回头我也汇总整理分享自己的心得。 |