美文网首页
[Excel]将同一工作簿中多个工作表独立保存为文档

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

作者: 效率火箭 | 来源:发表于2019-11-15 14:53 被阅读0次

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

    如果不太熟悉VBA的小伙伴,可以先花费1分钟,找到添加VBA代码的路径。

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

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

  3. 复制代码到窗口中,然后点击【执行】即可


  4. 将每个工作表保存成单独的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

    但是在执行上述代码前,你还得做两步准备:

    创建一个文件夹,放置所有独立文件

  5. 将主文件也存于此文件夹下

  6. 操作完的结果如下图所示。

    将每个工作表保存成单独的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"

        Application.ActiveWorkbook.Close False

    Next

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

    End Sub

    这样的操作结果如下:

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

    相关文章

      网友评论

          本文标题:[Excel]将同一工作簿中多个工作表独立保存为文档

          本文链接:https://www.haomeiwen.com/subject/mocsictx.html