将多个excel文件合并成一个且保留原有数据
1、将需合并的excel文件放在同一个文件夹中,并这个文件中新建一个Excel文件。
2、打开新建的Excel文件,按 Alt + F11 键,打开宏,选择视图→代码窗口
3、将下面的代码拷贝进去:
Sub sheets2one() '定义对话框变量 Dim cc As FileDialog Set cc = APPlication.FileDialog(msoFileDialogFilePicker) Dim newwork As Workbook Set newwork = Workbooks.Add With cc If .Show = -1 Then Dim vrtSelectedItem As Variant Dim i As Integer i = 1 For Each vrtSelectedItem In .SelectedItems Dim tempwb As Workbook Set tempwb = Workbooks.Open(vrtSelectedItem) tempwb.Worksheets(1).Copy Before:=newwork.Worksheets(i) newwork.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "") tempwb.Close SaveChanges:=False i = i + 1 Next vrtSelectedItem End If End With Set cc = Nothing End Sub
4、点击运行选项运行宏命令
5、之后弹出选择对话框,选择要批量合并的Excel名,确定即可
6、程序运行完毕后,会自动生成一个工作簿,工作簿内包含所有需合并的Excel文件,将工作簿另存为即可。
以上步骤便是,合并后的Excel文档会献出多个Sheet页,我们可以很方便的切换了解。
快速合并单个excel表中的多个sheet的工作页
有时候因工作需要在合并多个文件以后还需要多多个表格进行合并【此操作一般建立在表格之间有共性之处】
承接合并多个文件上面操作后进行多表单合并操作步骤:
1、首先要在最前页新建一个工作表
2、找到“查看代码”,然后看到宏计算界面
3、看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:
Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then X = Range("A65536").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub
4、做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。
5、完成以上操作执行后就得到多表单合并的表单了,后续只需要按照自己的需求对合并后的表单进行数据加工。
注意事项:以上操作均在Microsoft office里面完成的。