|  | 
 
| 相信大家肯定会接触到一份Excel工作簿中包含N个工作表的Excel文档的。 首先了解一下工作簿和工作表吧
 这么理解我相信么有问题,工作簿是一本书,而工作表就是一页页的纸。实际上工作簿就是一个Excel文档里面包含了很多个工作表标签。
 如图所示
 
  (0 Bytes, 下载次数: 8314) 如果有一个Excel工作簿中有很多工作表包含了不同内容,需要把这些工作表给拆开保存成单独的一个个的文件。可以通过右键工作表标签,移动或复制,选择新工作簿,并注意勾选建立副本(否则原工作簿中的工作表就被移动走了)。
 
  (0 Bytes, 下载次数: 8329) 
 
  (0 Bytes, 下载次数: 8276) 如果工作表不多这样做是很快的。
 如果很多,那么通过code来可能会更快
 
  (0 Bytes, 下载次数: 8302) 
  (0 Bytes, 下载次数: 8419) 
  (0 Bytes, 下载次数: 8323) 
  (0 Bytes, 下载次数: 8365) 
  (0 Bytes, 下载次数: 8346) 还是右键任何工作表标签,点击查看代码,弹出VB代码编辑窗口,点击菜单栏“插入”插入一个模块,输入以下代码(这里的代码注意红色标示处,他是拆分xlsx(Office 2007以上)文档的,如果是xls(老版本Office 2003)。将xlOpenXMLWorkbook替换成xlNormal,后面将两个代码导出为bas文件,使用时直接导入即可。需要注意的是,拆分的文档必须是保存的,如果新建的没有保存是无法拆分的。
 
 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:=xlOpenXMLWorkbook     '将工作簿另存为EXCEL默认格式
 ActiveWorkbook.Close
 Next
 MsgBox "文件已经被分拆完毕!"
 End Sub
 
 按运行按钮或F5直接运行,程序会自动为你拆分工作簿并不会影响原工作簿。并在当前工作簿所在目录下生成所有工作表的工作簿。
 拆分xls工作簿
 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
 
 | 
 
 
 0 Bytes, 下载次数: 8284 
 |