在文件操作过程中,常常遇到如下几种情况,如果数据量小,靠copy即可操作,如果数据量大,那简单copy耗时且数据容易出错,以下案例会分别介绍。
1. 打开要复制其他sheet进来的Excel的文件。 2. 按ALT+F11弹出代码编辑框。 3. 复制如下代码到编辑框中。 4. 点击运行按钮。 Sub CollectDataFromSplitExcel() '?¢D?1??úo?:Excel?°3???ó¢ 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 Excel职场精英
|
|