|
相信大家肯定会接触到一份Excel工作簿中包含N个工作表的Excel文档的。
首先了解一下工作簿和工作表吧
这么理解我相信么有问题,工作簿是一本书,而工作表就是一页页的纸。实际上工作簿就是一个Excel文档里面包含了很多个工作表标签。
如图所示
(0 Bytes, 下载次数: 4287)
如果有一个Excel工作簿中有很多工作表包含了不同内容,需要把这些工作表给拆开保存成单独的一个个的文件。可以通过右键工作表标签,移动或复制,选择新工作簿,并注意勾选建立副本(否则原工作簿中的工作表就被移动走了)。
(0 Bytes, 下载次数: 4340)
(0 Bytes, 下载次数: 4269)
如果工作表不多这样做是很快的。
如果很多,那么通过code来可能会更快
(0 Bytes, 下载次数: 4285)
(0 Bytes, 下载次数: 4401)
(0 Bytes, 下载次数: 4281)
(0 Bytes, 下载次数: 4334)
(0 Bytes, 下载次数: 4282)
还是右键任何工作表标签,点击查看代码,弹出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, 下载次数: 4289
|