在文件操作过程中,常常遇到如下几种情况,如果数据量小,靠copy即可操作,如果数据量大,那简单copy耗时且数据容易出错,以下案例会分别介绍。
多个文件的第一个或多个sheet数据合并一个文件的一个sheet中。
一个或多个文件的sheet数据复制到一个文件中。
表内多个sheet汇总到一个Sheet。
案例展示案例: 汇总多个EXCEL数据表格到一个sheet。
1. 打开要复制其他sheet进来的Excel的文件。
2. 按ALT+F11弹出代码编辑框。
3. 复制如下代码到编辑框中。
4. 点击运行按钮。
代码:
Sub CollectDataFromSplitExcel() '΢ÐŹ«ÖÚºÅ:ExcelÖ°³¡¾«Ó¢
Dim i As Integer
Dim FindDesk As FileDialog
Dim strPath As String
Dim temp_wb '用于打开待汇总的表
Dim Endrow '用于求待汇总表的最后一行
Application.ScreenUpdating = False '禁止刷新
Set FindDesk = Application.FileDialog(msoFileDialogFolderPicker)
If FindDesk.Show = -1 Then '选择文件夹
strPath = FindDesk.SelectedItems(1)
allfiles = Dir(strPath & '/' & '*xls*') '设置文件目录
ThisWorkbook.Worksheets(1).UsedRange.Clear '清除汇总表的数据
While allfiles <> '' '循环
Set temp_wb = Application.Workbooks.Open(strPath & '/' & allfiles) '打开文件
For i = 1 To temp_wb.Sheets.Count
Endrow = ThisWorkbook.Worksheets(1).Range('A100000').End(xlUp).Row
temp_wb.Sheets(i).UsedRange.Copy Cells(Endrow + 1, 1)
Next i
temp_wb.Close False
Set temp_wb = Nothing '清空参数
allfiles = Dir '设置文件目录
Wend 'While...wend
End If
Set FindDesk = Nothing '清空参数
Application.ScreenUpdating = True
End Sub
联系客服