VBA快速拆分excel文件各个sheet为不同工作簿

本文介绍了一段VBA代码,该代码能够帮助用户快速地将一个包含多个工作表的Excel工作簿拆分成多个独立的工作簿,每个工作簿包含原工作簿中的一个工作表。此方法适用于需要对大量数据进行分类管理和处理的场景。

一、需要将工作簿里面不同的sheet快速拆分成为不同的工作簿

二、代码

  Sub 分拆工作表()

    Dim sh As Worksheet

    Dim MyBook As Workbook

    Set MyBook = ActiveWorkbook

    For Each sh In MyBook.Sheets

        sh.Copy
    
        ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sh.Name, FileFormat:=xlNormal '将工作簿另存为EXCEL默认格式
    
        ActiveWorkbook.Close
    
        Next

    MsgBox "文件已经被分拆完毕!"

    End Sub
 

可以使用VBA代码来实现将工作表拆分多个工作簿,并以单元格内容命名工作簿。以下是一个示例代码: ```vba Sub SplitSheetToWorkbooks() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim newWb As Workbook Dim cellValue As String ' 设置要拆分工作表 Set ws = ThisWorkbook.Sheets("总表") ' 替换为实际的工作表名称 ' 找到最后一行 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 假设依据A列拆分 ' 循环每一行,从第二行开始 For i = 2 To lastRow ' 获取单元格内容作为工作簿名称 cellValue = ws.Cells(i, 1).Value ' 假设依据A列内容命名工作簿 ' 创建新工作簿 Set newWb = Workbooks.Add ' 将当前行复制到新工作簿的第一个工作表 ws.Rows(i).Copy Destination:=newWb.Sheets(1).Rows(1) ' 保存新工作簿,以单元格内容命名 newWb.SaveAs ThisWorkbook.Path & "\" & cellValue & ".xlsx" ' 关闭新工作簿 newWb.Close SaveChanges:=False Next i MsgBox "拆分完成!", vbInformation End Sub ``` ### 使用步骤 1. 打开Excel并打开包含需要拆分工作表工作簿。 2. 按 `ALT + F11` 进入VBA编辑器。 3. 右键点击工作簿,选择“插入” > “模块”。 4. 将上述代码粘贴到模块窗口中。 5. 按 `F5` 或从菜单选择“运行”。 ### 注意事项 - 请确保将代码中的 `"总表"` 替换为实际需要拆分工作表名称。 - 假设依据A列内容拆分并命名工作簿,如果实际情况不同,请修改代码中的列号。 - 此代码会在原工作簿所在的文件夹下生成多个新的工作簿
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文剑至秦

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值