【Office】【VBA宏】使用宏实现表格中sheet表拆分成独立的文件

您所在的位置:网站首页 excel快速拆分多个文件夹 【Office】【VBA宏】使用宏实现表格中sheet表拆分成独立的文件

【Office】【VBA宏】使用宏实现表格中sheet表拆分成独立的文件

2024-07-09 19:51| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

【Office】【VBA宏】使用宏实现表格中sheet表拆分成独立的文件 需求概述一、实现流程二、具体代码使用方法注意事项小结

需求概述

提示:前面根据某一列作为拆分依旧,将表格分类拆分成一个一个的sheet表,然而实际使用中还要将单个的sheet表拆分成独立文件。

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

提示:以下是本篇文章正文内容,下面案例可供参考

一、实现流程 由于要拆分的数据量可能会比较大考虑性能问题(关闭屏幕更新提高性能).要求选择一个文件夹作为拆分后存放文件的路径。循环遍历每个工作表进行保存。显示一个消息框来通操作已完成。 二、具体代码

代码如下(示例):

Sub SplitWorkbookToIndividualSheets() Dim wb As Workbook Dim ws As Worksheet Dim targetFolder As String Dim fileName As String Dim i As Integer ' 设置当前工作簿为源工作簿 Set wb = ThisWorkbook ' 使用FileDialog选择一个文件夹 With Application.FileDialog(msoFileDialogFolderPicker) .Show If .SelectedItems.Count = 0 Then MsgBox "请选择一个文件夹" Exit Sub End If targetFolder = .SelectedItems(1) & "\" End With ' 循环遍历每个工作表 Application.ScreenUpdating = False ' 关闭屏幕更新以加速过程 For Each ws In wb.Sheets ' 构建文件名 fileName = targetFolder & ws.Name & ".xlsx" ' 检查文件是否已存在 i = 1 While FileExists(fileName) fileName = targetFolder & ws.Name & " (" & i & ").xlsx" i = i + 1 Wend ' 将工作表复制到新工作簿并保存 ws.Copy With ActiveWorkbook .SaveAs fileName:=fileName, FileFormat:=xlOpenXMLWorkbook ' 保存为.xlsx格式 .Close SaveChanges:=False ' 关闭新工作簿而不保存更改 End With Next ws Application.ScreenUpdating = True ' 恢复屏幕更新 MsgBox "拆分完成!" End Sub ' 辅助函数:检查文件是否存在 Function FileExists(filePath As String) As Boolean Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") FileExists = fso.FileExists(filePath) End Function 使用方法 打开Excel并加载包含要拆分数据的工作簿。按Alt + F11打开VBA编辑器。在项目浏览器中,右键点击你的工作簿名称,选择“插入” -> “模块”。在新打开的模块窗口中,粘贴上述代码。按F5运行SplitWorkbookToIndividualSheets宏。根据提示框选择拆分出的文件存放路径。等待宏运行完成。 注意事项

在运行宏之前,请确保备份你的数据,以防万一出现意外情况。

小结

到此,所有分享结束了,希望代码可以帮助你们。还有更多功能和方法值得我和你们去研究,感谢浏览。有其他好的问题和经验可以在评论区留言或私信我。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3