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

2025-10-23 11:13: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将多工作表拆分成多工作簿?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢