多个工作表拆分为独立工作簿

该代码用于多个工作表拆解成单独工作簿分发到不同用户手中。

  • 1.点击菜单插入模块,输入以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub 分拆工作表()
Dim sht As Worksheet
Dim MyBook As Workbook
Set MyBook = ActiveWorkbook
For Each sht In MyBook.Sheets
sht.Copy
ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name, FileFormat:=xlNormal '将工作簿另存为"xls"默认格式
'ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name & ".xlsx" '将工作簿另存为"xlsx"格式
ActiveWorkbook.Close
Next
MsgBox "文件已经被分拆完毕!"
End Sub
  • 2.单击运行运行子过程|窗体,拆分的文件与源文件在同地址。文件名为工作簿名。
  • 3.如果使用xlsx文件会导致兼容性提示,如果有几十个工作表可能会导致卡顿影响效率,请更换注释行。
  • 4.代码来源于网络,Excel2016测试有效。

建议:若想通过一张数据表拆分成多表再生成多工作簿,可在数据透视表中添加筛选字段,点击分析>数据透视表选项卡>选项下拉菜单>生成GetGivotdata(G),然后使用该段代码。