这个只能用vba解决 你新建一个 excel文件 然后act+f11 弹出vba界面然后把一下代码复制到vba里面 然后运行
就可以了对于重名的工作表会自动重新命名
Subwen一键合并()
'定义对话框变量
DimfdAsFileDialog
Setfd=Application.FileDialog(msoFileDialogFilePicker)
'新建一个工作簿
DimnewwbAsWorkbook
Setnewwb=Workbooks.Add
Withfd
If.Show=-1Then
'定义单个文件变量
DimvrtSelectedItemAsVariant
'定义循环变量
DimiAsInteger
i=1
'开始文件检索
ForEachvrtSelectedItemIn.SelectedItems
'打开被合并工作簿
DimtempwbAsWorkbook
Settempwb=Workbooks.Open(vrtSelectedItem)
'复制工作表
tempwb.Worksheets(1).CopyBefore:=newwb.Worksheets(i)
'把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
newwb.Worksheets(i).Name=VBA.Replace(tempwb.Name,".xls","")
'关闭被合并工作簿
tempwb.CloseSaveChanges:=False
i=i+1
NextvrtSelectedItem
EndIf
EndWith
Setfd=Nothing
EndSub