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

2025-11-08 12:42:07

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。
猜你喜欢