在文件操作过程中,常常遇到如下几种情况,如果数据量小,靠copy即可操作,如果数据量大,那简单copy耗时且数据容易出错,以下案例会分别介绍。
案例展示案例: 汇总多个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 |
|
来自: 昵称53702010 > 《易学》