Sub splitWorksheets()

Dim ws As Worksheet '定义变量ws,表示工作表对象
Dim newWorkbook As Workbook '定义变量newWorkbook,表示新工作簿对象
Dim wsName As String '定义变量wsName,表示工作表名称

Application.ScreenUpdating = False '关闭屏幕更新,加快运行速度

For Each ws In ThisWorkbook.Worksheets '遍历当前工作簿中的所有工作表

    wsName = ws.Name '获取当前工作表名称
    Set newWorkbook = Workbooks.Add '创建新工作簿
    ws.Copy Before:=newWorkbook.Sheets(1) '将当前工作表复制到新工作簿中
    newWorkbook.Sheets(1).Delete '删除新工作簿中的第一个工作表,因为它是默认创建的空白工作表
    
    '修改新工作簿名称为当前工作表名称
    newWorkbook.SaveAs ThisWorkbook.Path & "\" & wsName & ".xlsx"
    newWorkbook.Close '关闭新工作簿
    
    Set newWorkbook = Nothing '释放newWorkbook对象的内存
    
Next ws

Application.ScreenUpdating = True '开启屏幕更新

MsgBox "拆分完成!", vbInformation '弹出提示框,告知用户拆分完成

End Sub


原文地址: https://www.cveoy.top/t/topic/wvW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录