「Excel」将同一工作簿中多个工作表独立保存为文档


「Excel」将同一工作簿中多个工作表独立保存为文档

「Excel」将同一工作簿中多个工作表独立保存为文档

当你有一个拥有若干个工作表的Excel文档 , 你想要把这些工作表分别保存成单个独立的文件,发送给不同的用户 。你该如何操作?最好的方法就是使用VBA 。
「Excel」将同一工作簿中多个工作表独立保存为文档

如果不太熟悉VBA的小伙伴,可以先花费1分钟,找到添加VBA代码的路径 。
「Excel」将同一工作簿中多个工作表独立保存为文档

  • 在【开发工具】选项卡中找到【Visual Basic】 。如果没有开发工具选项卡的话,需要在Excel选项中将其勾选显示 。

「Excel」将同一工作簿中多个工作表独立保存为文档

  • 右键点击左侧窗口栏中的任意一个工作簿,选择【插入】->【模块】

「Excel」将同一工作簿中多个工作表独立保存为文档

  • 复制代码到窗口中,然后点击【执行】即可
将每个工作表保存成单独的Excel文件
'将每个工作表保存成单独的Excel文件
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
ws.Copy
Application.ActiveWorkbook.SaveAs Filename:=FPath & "" & ws.Name & ".xlsx"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
但是在执行上述代码前,你还得做两步准备:
  • 创建一个文件夹,放置所有独立文件
  • 将主文件也存于此文件夹下

「Excel」将同一工作簿中多个工作表独立保存为文档

操作完的结果如下图所示 。
将每个工作表保存成单独的PDF文件
有的时候,我们非但希望将工作表单独保存出来 , 还不希望用户对文件再进行修改 。这个时候,我们也可以考虑将工作表保存成pdf文件 。具体的代码如下:
'将每个工作表保存成单独的PDF文件
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
ws.Copy
Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FPath & "" & ws.Name & ".xlsx"
【「Excel」将同一工作簿中多个工作表独立保存为文档】Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
这样的操作结果如下:
「Excel」将同一工作簿中多个工作表独立保存为文档

这样的操作是不是简单快速呢?再也不需要为此大费周章的手工分割工作簿 。省时省力!

相关经验推荐