Excel按Sheet页拆分成多个.xlsx文件(宏)

·  阅读 46

这里使用的 Office 版本:Microsoft Excel 2019

1. 右键点击 Sheet 页,选择“查看代码”

在这里插入图片描述

2. 粘入下面的代码

  • Mac 系统上:

    Sub 工作薄拆分()
    Dim PATH As String
    PATH = Application.ActiveWorkbook.PATH
    Dim sht As Worksheet
    Application.ScreenUpdating = False
    For Each sht In Sheets
    sht.Copy
    '下面这句话用来拼接生成路径
    ActiveWorkbook.SaveAs PATH + "/" + sht.Name + ".xlsx" 
    ActiveWorkbook.Close
    Next
    Application.ScreenUpdating = True
    End Sub
    复制代码
  • Win 系统上(区别主要是生成路径的区别,Win 中目录分隔是 "\",Mac 中目录分隔是 "/"):

    Sub 工作薄拆分()
    Dim PATH As String
    PATH = Application.ActiveWorkbook.PATH
    Dim sht As Worksheet
    Application.ScreenUpdating = False
    For Each sht In Sheets
    sht.Copy
    '下面这句话用来拼接生成路径
    ActiveWorkbook.SaveAs PATH + "\" + sht.Name + ".xlsx"
    ActiveWorkbook.Close
    Next
    Application.ScreenUpdating = True
    End Sub
    复制代码

3. 在项目中点击 VBAProject,然后运行宏

在这里插入图片描述

如果运行宏报错

如果在运行时报错,可以尝试如下设置:

在这里插入图片描述

4. 测试

  • 运行之前: 在这里插入图片描述

  • 运行宏之后: 在这里插入图片描述

分类:
开发工具
标签:
分类:
开发工具
标签: