拆分工作簿

任务:有个excel工作簿,其中有上百个工作表,要求把每一个工作表全部保存为新工作簿,如果一个一个复制出来太傻了,可以用excel自带的VB解决。

方法:打开工作簿,在工作表上点右键,选择“查看代码”,打开Microsoft Visual Basic for Application对话框,在菜单栏,单击“插入”—“模块”。在模块对话框中输入如下代码:

Private Sub hjs()

Dim sht As Worksheet

Dim ThisBook As Workbook

Set ThisBook = ActiveWorkbook

For Each sht In ThisBook.Sheets

sht.Copy

ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & sht.Name & ".xlsx"

ActiveWorkbook.Close

Next

MsgBox "分拆完毕"

End Sub

 

单击“保存”按钮,选择“否”,打开“另存为”对话框,选择保存位置(因为将提取出来的文件太多,最好保存在一个新文件夹里。),输入保存文件名,将保存类型选择为“Excel启用宏的工作簿(*.xlsm)”,单击“保存”。

在Microsoft Visual Basic for Application对话框单击工具栏上的运行按钮,excel将自动提取各个工作表为单一工作簿