把Excel工作簿的每个工作表提取出来保存为新工作簿

平台:MS office 2010

任务:有个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将自动提取各个工作表为单一工作簿。

转载于:https://www.cnblogs.com/mahocon/p/5702675.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值