怎样使用VBA将多工作表拆分成多工作簿?
1、首先在开发工具中打开VBA编辑器

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

3、在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

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

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