星期一, 五月 04, 2009

将一个Excel文件的多个工作表(sheet)分别存成单个独立文件

问题描述:使用过程中,为了方便,一个文件下使用多个工作表方便计算,而每次给不同客户寄我的结算结果,都需要复制当前单一的工作表,然后粘贴到一个新的Excel文件下,长此以往工作量加大 请问,怎样把一个Excel文档下多个工作表,直接转换成单个文件。也就是说,怎样把一个excel文件下sheet1 sheet2.....sheet N每一个工作表转换成一个个单独的excel文档。

方案一:
右击要转移的工作表名称栏,点编辑-移动或复制工作表, 在工作薄中选择新工作薄,然后把建立副本选中就行了。 (这个方案还是没能解决大量工作表转存的工作量问题)

方案二:
'--------------------------------------------
Sub sheets2excels()
'MsgBox ThisWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim XSheet As Worksheet
For Each XSheet In ActiveWorkbook.Sheets
XSheet.Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & XSheet.Name & ".xls"
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End Sub
'--------------------------------------------

将以上代码复制,打开你的Excel,同时按下Alt+F11,在工程窗口(左上)中双击ThisWorkbook,在右边空白处粘贴刚才复制的代码,单击代码中的某一行,再单击工具栏(上面)上的向右三角形,OK.
需要说明的是
1、如果是OFFICE2007的话不要忘了把后缀改成XLSX

2、必须先保存要分割的文档后,再运行此宏(否则无法获得当前路径的)

没有评论: