如何将多个Excel文件合并成一个且保留原有数据?事实上,我们可以借用Excel宏命令来处理该操作,并且保留原有数据,建立多个Sheet页,具体操作请看下文多个Excel文件合并成一个的方法。
如何将多个Excel文件合并成一个且保留原有数据?
1、将需合并的Excel文件放在同一个文件夹中,并这个文件中新建一个Excel文件。

2、打开新建的Excel文件,按 Alt + F11 键,打开宏,选择视图→代码窗口。


3、将下面的代码拷贝进去:
- 01Sub sheets2one()
- 02'定义对话框变量
- 03Dim cc As FileDialog
- 04Set cc = Application.FileDialog(msoFileDialogFilePicker)
- 05Dim newwork As Workbook
- 06Set newwork = Workbooks.Add
- 07With cc
- 08If .Show = -1 Then
- 09Dim vrtSelectedItem As Variant
- 10Dim i As Integer
- 11i = 1
- 12For Each vrtSelectedItem In .SelectedItems
- 13Dim tempwb As Workbook
- 14Set tempwb = Workbooks.Open(vrtSelectedItem)
- 15tempwb.Worksheets(1).Copy Before:=newwork.Worksheets(i)
- 16newwork.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
- 17tempwb.Close SaveChanges:=False
- 18i = i + 1
- 19Next vrtSelectedItem
- 20End If
- 21End With
- 22Set cc = Nothing
- 23End Sub
复制代码
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