excel快速将每个工作表另存为单独的工作簿文件

2025-10-14 07:24:23

1、首先看一下原始数据表,在这个工作簿中每个工作表分别存储了一个人的数据。现在需要将每个人的工作表单独存成excel工作簿文件。

excel快速将每个工作表另存为单独的工作簿文件

2、首先,按键盘上的Alt+F11进入VBA代码编辑界面。

excel快速将每个工作表另存为单独的工作簿文件

3、根据图示,在工作簿中插入一个模块。

excel快速将每个工作表另存为单独的工作簿文件

excel快速将每个工作表另存为单独的工作簿文件

4、在模块内粘贴下述代码:

Sub SaveAs()

    On Error Resume Next

    Dim FolderPath As String, FolderName As String, BN As String

    Dim ReturnValue As Integer

    BN = ActiveWorkbook.Name

    FolderPath = ThisWorkbook.Path

    FolderName = Mid(BN, 1, InStrRev(BN, ".", Len(BN)) - 1)

    Dim MyFile As Object

    Set MyFile = CreateObject("Scripting.FileSystemObject")

    If MyFile.folderexists(FolderPath & "\" & FolderName & "-Saved") Then

        ReturnValue = MsgBox("文件夹已存在,是否更新内容?", vbOKCancel, "Caution!")

        If ReturnValue = 2 Then Exit Sub

    Else

        MyFile.CreateFolder (FolderPath & "\" & FolderName & "-Saved")

        Set MyFile = Nothing

    End If

    Application.ScreenUpdating = False

    Application.DisplayAlerts = False

    Dim i As Integer

    For i = 1 To Sheets.Count

        Set Wk = Workbooks.Add

        Workbooks(BN).Sheets(i).Copy before:=Wk.Worksheets("Sheet1")

        Wk.SaveAs FolderPath & "\" & FolderName & "-Saved\" & ThisWorkbook.Sheets(i).Name

        Wk.Close

    Next i

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

End Sub

excel快速将每个工作表另存为单独的工作簿文件

5、如下图示例,插入一个按钮并指定按钮至刚才插入的宏代码。

excel快速将每个工作表另存为单独的工作簿文件

excel快速将每个工作表另存为单独的工作簿文件

6、点击刚才插入的按钮,运行完毕后可以看到在同目录下出现了一个名称为“拆分工作表-Saved”文件夹,打开文件夹可以看到被拆分出来的若干个工作表。

excel快速将每个工作表另存为单独的工作簿文件

excel快速将每个工作表另存为单独的工作簿文件

excel快速将每个工作表另存为单独的工作簿文件

7、如果已经运行过一次拆分过程生成了上述文件夹和文件,更改源文件内容后再次点击按钮时会提示是否更新原来生成的文件,如果点击【确定】则更新文件夹内的文件。

excel快速将每个工作表另存为单独的工作簿文件

excel快速将每个工作表另存为单独的工作簿文件

excel快速将每个工作表另存为单独的工作簿文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢