一个Excel文件有多个工作表,现在要将每个工作表单独保存为一个文件。
该怎么操作最好?
可以按以下方法操作:
1、右键想要保存为新工作簿的工作表,选择“移动或复制”
2、在“工作簿”下拉菜单选择“新工作簿”
3、选择确定之后,成功将“Sheet2”创建到新的工作簿(原工作簿将不再有Sheet2),如下:
这个方法也非常麻烦,需要先建立新的Excel文件。
有没有什么命令和第三方工具能够实现这个功能:
一个Excel文件中的各个工作表能够自动保存为单独的Excel文件。
这个问题已经基本解决,我在网上找到了解决方法。
右键任意一个工作表标签,在弹出的下拉列表中选择查看代码。即弹出代码窗口。
点击菜单插入-模块 在弹出的模块对话框中 输入以下代码:
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
单击运行-运行子过程|窗体 几秒过后 弹出提示窗口“文件已被拆分完毕”
但是,拆分成为单独的Excel工作簿文件是Excel2003的xls格式,代码如何改进才能够让拆分成为单独的Excel工作簿文件是Excel2007的xlsx格式?
本帖最近评分记录Nico_Lv无忧币+2感谢反馈
我来回答上面这位朋友的问题,如果希望拆分为Excel的xlsx格式,请将“xlNormal”修改为“xlOpenXMLWorkbook”即可。
本帖最近评分记录Nico_Lv无忧币+2热心广援
是啊,这个只是针对单个工作簿,而且不是经常操作的一个动作,有些动作还是需要通过VBA解决
十分感谢各位高手的指点,但现在碰到了新的问题。
我发现如果Excel工作簿的名字中含有“.”,拆分后的Excel文件就没有文件扩展名。虽然我可以通过DOS命令Rename进行批量增加修改文件扩展名,但我还是希望VBA代码能够解决掉这个问题。
你可以在命名的时候把扩展名加上,就是在sht.Name后加上 & ".xlsx" 你试试吧,注意&前后各有个空格
本帖最近评分记录Nico_Lv无忧币+2热心广援
感谢各位高手的指点,问题完美解决!
用工具软件啊,超简单。
教程见百度经验:仅用三步将Excel文件按工作表分割为单独文件,http://jingyan.baidu.com/article/9989c7460f6271f648ecfeb7.html
软件下载见:http://www.fashiondigital.net/zh ... 96%87%E4%BB%B6.html
工具有问题,最后一个表无法拆分出来了,希望改进
将一个工作簿文件分发成不同工作簿文件,用sheet的名称命名新的excel工作簿
Sub SaveAllSheet()
Dim TPathAsString, XSheet As Worksheet
TPath =ActiveWorkbook.Path
Application.ScreenUpdating= False
For EachXSheetInActiveWorkbook.Sheets
XSheet.Copy
ActiveWorkbook.SaveAsFilename:=TPath& "\" &ActiveSheet.Name& ".xls"
ActiveWindow.Close
Next
Application.ScreenUpdating= True
End Sub
确实很实用,刚才用了一下,棒~~要不还得一个一个复制拆分多麻烦。