欢迎光临散文网 会员登陆 & 注册

跟随ChatGPT:VBA让你成为Excel界的传奇!

2023-08-30 08:54 作者:数字冠军RPA  | 我要投稿

如何使用VBA将一个包含多个工作表的Excel工作簿拆分为多个独立工作簿

目标:使用VBA将Excel文件中的每个工作表保存为单独的工作簿。

步骤:

1. 打开Excel文件:

• 找到你想要拆分的Excel文件并打开它。

2. 打开VBA编辑器:

• 在Excel中,按 ALT + F11 来打开VBA开发环境。

3. 插入新模块:

• 在VBA开发环境中,右键点击左侧的“Microsoft Excel Objects”文件夹。

• 选择“插入” -> “模块”。

4. 复制并粘贴VBA代码:

• 在新插入的模块窗口中,复制并粘贴上述VBA代码。

Sub SplitWorkbookToSeparateFiles()


  Dim OriginalWs As Worksheet

  Dim NewWb As Workbook

  Dim SavePath As String


  ' 设置保存的路径

  SavePath = "C:\Users\Administrator\Desktop\DEMO\"


  ' 遍历所有工作表

  For Each OriginalWs In ThisWorkbook.Worksheets

    ' 新建工作簿

    Set NewWb = Workbooks.Add


    ' 复制工作表到新工作簿

    OriginalWs.Copy Before:=NewWb.Sheets(1)

     

    ' 删除新工作簿中的其他工作表

    Application.DisplayAlerts = False

    While NewWb.Sheets.Count > 1

      NewWb.Sheets(2).Delete

    Wend

    Application.DisplayAlerts = True

    ' 保存新工作簿

    NewWb.SaveAs Filename:=SavePath & OriginalWs.Name & ".xlsx", FileFormat:=xlOpenXMLWorkbook


    ' 关闭新工作簿

    NewWb.Close SaveChanges:=False


  Next OriginalWs


  ' 清理变量

  Set NewWb = Nothing

  Set OriginalWs = Nothing


  MsgBox "完成拆分并保存!", vbInformation


End Sub

5. 运行宏:

• 关闭VBA开发环境。

• 在Excel中,按 ALT + F8 打开宏对话框。

• 从列表中选择 SplitWorkbookToSeparateFiles 宏。

• 点击“运行”。

6. 查看结果:

• 转到 C:\Users\Administrator\Desktop\DEMO\ 路径。

• 您将看到每个工作表都已保存为单独的Excel工作簿,文件名与原工作表名称相同。


注意事项:

• 在运行VBA宏之前,请确保备份原始Excel文件,以防止任何意外损坏或数据丢失。

• 确保文件保存路径(在本教程中为C:\Users\Administrator\Desktop\DEMO\)存在。您可以根据需要修改该路径。

• 如果在运行VBA宏时遇到错误或问题,请检查您的Excel版本和设置,或参考相关VBA文档和资源进行调试。


跟随ChatGPT:VBA让你成为Excel界的传奇!的评论 (共 条)

分享到微博请遵守国家法律