怎么拆分一个excel工作簿中的多个工作表

如题所述

工具:microsoft office excel 2007

步骤:

1、打开microsoft office excel 2007,右键任意一个工作表标签,在弹出的下拉列表中选择查看代码。即弹出代码窗口。

2、点击菜单插入-模块,在弹出的模块对话框中,输入以下代码:

Private Sub 分拆工作表()
       Dim sht As Worksheet
       Dim MyBook As Workbook
       Set MyBook = ActiveWorkbook
       For Each sht In MyBook.Sheets
           sht.Copy
           ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name, FileFormat:=xlNormal     '将工作簿另存为EXCEL默认格式
           ActiveWorkbook.Close
       Next
       MsgBox "文件已经被分拆完毕!"
   End Sub

3、单击运行-运行子过程|窗体,弹出提示窗口“文件已被拆分完毕”。完成。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-03

右键 工作表 的标签,移动或复制 工作表 --到 新工作薄,重命名,保存,这个适合工作表少的。

工作表多的话,可以用Excel自带的VBA来完成,打开一个启用宏的工作薄,按alt + f11,进入VBE界面,菜单栏那---插入-模块 ,然后复制下面的代码进去,按F5运行,再按提示操作,新工作薄的名字是原来工作表的名字。

Sub 拆分()
'
Dim str_p As String
Dim s_wb
Dim wb As Workbook, sh As Worksheet
s_wb = Application.GetOpenFilename("Excel文件*.xls;*.xlsx,*.xls;*.xlsx")
If TypeName(s_wb) = "Boolean" Then Exit Sub
    Set wb = Workbooks.Open(s_wb)
    
     str_p = wb.Path
     
    For Each sh In wb.Worksheets
        sh.Copy
        ActiveWorkbook.SaveAs Filename:=str_p & "\" & sh.Name
        ActiveWindow.Close
    Next
    
    wb.Close False
    
 MsgBox "已完成,文件保存在“" & str_p & "”下"
End Sub

本回答被提问者采纳
第2个回答  2016-07-04
如果是将一个工作簿中的工作表分到其它工作簿,可右键点击工作表标签,将工作表复制或移动到别的工作簿;
如果是将一个工作表中的数据分拆到多个工作表,你可剪切复制。
相似回答