怎样使用VBA将多工作表拆分成多工作簿?

 时间:2026-02-13 00:44:12

1、首先在开发工具中打开VBA编辑器

怎样使用VBA将多工作表拆分成多工作簿?

2、在单元格区域当中输入一些内容作为例子

怎样使用VBA将多工作表拆分成多工作簿?

3、在VBA编辑器中插入模块

怎样使用VBA将多工作表拆分成多工作簿?

4、在模块当中输入如下代码,然后运行

Sub将多工作表拆分成同路径下多工作簿()


    Application.ScreenUpdating=False
    Dim ppath As String, dirname, acbook As String, Y As String, temp As
      String, i As Integer, timess
      timess=Timer             '获取当前时间
      ppath=ActiveWorkbook.Path  '设定路径为当前工作簿路径
      acbook=ActiveWorkbook.Name
      For i=1 To Sheets.Count
        If WorksheetFunction.CountA(Sheets(i).Range("1:1048576")) <> 0 Then
          temp=temp & Sheets(i).Name & ".xlsx" & Chr(10)
          Workbooks(acbook).Activate  '激活当前工作簿
          Y=Sheets(i).Name & ".xlsx"  '新工作簿名称设定为本工作表名称
          Workbooks.Add               '新增工作簿
          ActiveWorkbook.SaveAs Filename:=ppath & "\" & Y
                                        '保存工作簿到当前路径下
          Workbooks(acbook).Activate                   '激活工作簿
          Sheets(i).Copy before:=Workbooks(Y).Sheets(1)
                                        '不为空的工作表复制到新工作簿
          Workbooks(Y).Save           '保存新工作簿
          Workbooks(Y).Close          '关闭新工作簿
      End If
      Next i                       '继续下一工作表拆分
    Application.ScreenUpdating=True
    MsgBox "拆分完成!!" & Chr(10) & "全程历时:" & Timer-timess & "秒!" & Chr(10) _
    & "程序即将打开该文件夹,请查看!" & Chr(10) & "已生成的工作簿名为:" & Chr(10)
    & temp, vbOKOnly+64, "提示"
    ActiveWorkbook.FollowHyperlink Address:=ThisWorkbook.Path, NewWindow:=True
 End Sub

怎样使用VBA将多工作表拆分成多工作簿?

5、用快捷键Alt+F8调出运行宏窗口,然后单击“执行”按钮,程序首先弹出提示对话框,如图

怎样使用VBA将多工作表拆分成多工作簿?

  • 合并单元格后如何设置自动换行
  • 计算物料号的最新版本号并找出其所在行的方法
  • 如何使用Excel进行数值计算?
  • 勤奋中的勤字有什么来历?它代表什么意义
  • 如何提取EXCEL表格数据栏中间的数字
  • 热门搜索
    spa是什么意思的 地下城勋章怎么获得 如何做一名合格的中学生 大山里的欲生活 眼窝凹陷怎么恢复 生活委员竞选稿 我国的根本制度是什么 低碳生活的宣传标语 十月怀胎怎么算 杨光的快乐生活7