返回首页
当前位置: 主页 > Excel教程 > Excel技巧 >

excel如何合并不同类型工作表

时间:2017-05-10 13:06来源:Office教程学习网 www.office68.com编辑:麦田守望者

下图所示:一个文件夹下面有多个excel工作薄,每个工作薄文件下面有不固定张数的工作表。比如有的文件只有一张工作,有的文件是多张工作表。
  现在的问题,如何将这些多个文件实现合并工作表。将这些所有工作表全部合并到同一张工作表。

  一般的做法,通过“移动或复制”实现合并工作表。要高效,可以使用VBA代码来实现合并工作表。
  合并工作表操作步骤:
  新建一个excel文件,按ALT+F11,打开VBE编辑器,复制下面的代码,然后运行,选择文件夹下面的所有excel文件,执行合并工作表。

Sub 合并工作簿()    
Dim FilesToOpen, wb As Workbook, sht As Worksheet    
Dim x As Integer
On Error GoTo ErrHandler    
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _     
 (FileFilter:="Microsoft Excel Files (*.xls), *.xls", _      
  MultiSelect:=True, Title:="Files to Merge")
If TypeName(FilesToOpen) = "Boolean" Then        
MsgBox "No Files were selected"        
GoTo ExitHandler   
End If
x = 1   
While x <= UBound(FilesToOpen)        
If FilesToOpen(x) <> ThisWorkbook.FullName Then            
  Set wb = Workbooks.Open(Filename:=FilesToOpen(x))         
   For Each sht In wb.Sheets             
    sht.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)         
     Next        
      wb.Close        
End If       
 x = x + 1    
Wend
ExitHandler:    
Application.ScreenUpdating = True    
Exit Sub
ErrHandler:    
  MsgBox Err.Description    
  Resume ExitHandler
End Sub
  说明:上面代码是合并xlsx文件,如果是合并excel2007的文件,需要将:FileFilter:="Microsoft Excel Files (*.xls), *.xls",xls改为.xlsx。

 
------分隔线----------------------------
标签(Tag):excel excel2003 Excel行变为列
------分隔线----------------------------
推荐内容
猜你感兴趣