如何将多个excel文件作为不同sheet都导入一个excel文件中

如题所述

第1个回答  2016-11-30
方法一:
右键工作表标签,弹出菜单中选“移动或复制...",根据提示操作即可
注意工作表不能重名,会提示错误
方法二:
找个excel扩展插件,经常合并的话这个方法很好用
方法三:
比较笨,一个一个复制黏贴到一起
第2个回答  2016-12-01

利用复制工作表就可以完成。


例:

  有3个excel文件,文件名分别为:1.xlsx、2.xlsx、3.xlsx,如图所示:

  要将这3个文件中对应的工作表全部合成到1个新的excel文件中,可以这样做:


  1、新建excel文件,并保存(假设保存文件名为:合并后数据.xlsx)


  2、在此新文件(合并后数据.xlsx)打开的情况下,分别打开要合并的文件(1.xlsx、2.xlsx、3.xlsx )。


  3、选择第1个文件(1.xlsx”),在其要合并导入的工作表标签上右击选择“移动或复制”;


  4、在“移动或复制工作表”对话框的工作簿下拉列表中选择“合并后数据.xlsx”,勾选“建立副本”复选框,点击“确定”。


  5、完成后即可将“1.xlsx”中的“数据1”工作表复制到"合并后的数据.xlsx”工作薄文件中,如图所示:


  6、按上述操作分别将其余的工作簿“2.xlsx”和“3.xlsx”中对应的工作表复制至新工作簿“合并后数据.xlsx”即可。

第3个回答  2016-11-30
参考代码:
功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称
Sub Books2Sheets()
'定义对话框变量
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

'新建一个工作簿
Dim newwb As Workbook
Set newwb = Workbooks.Add

With fd
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:=newwb.Worksheets(i)

'把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")

'关闭被合并工作簿
tempwb.Close SaveChanges:=False

i = i + 1
Next vrtSelectedItem
End If
End With

Set fd = Nothing
End Sub本回答被网友采纳
相似回答