txt文档批量转为excel_VBA常用小代码:批量将工作表转为单独的文档

有时,我们需要将一个工作簿里的每一张工作表,另存为单独的工作薄;如果只是一两张工作表需要这样处理,我们手工操作就挺好的,可如果是若干张,手工操作……岂不是太朴素?

如果使用VBA来处理,这事就简单了。

怎么个简单法呢?,请看动画演示:

9dfd6d20e9fd708704f210fadc1f7b7b.gif

动画中所粘贴的代码如下:


Sub Newbooks()

    Dim sht As Worksheet, mypath$

    With Application.FileDialog(msoFileDialogFolderPicker)

   '选择保存工作薄的文件路径

        .AllowMultiSelect = False

        '不允许多选

        If .Show Then

            mypath = .SelectedItems(1)

            '读取选择的文件路径

        Else

            Exit Sub

            '如果没有选择保存路径,则退出程序

        End If

    End With

    If Right(mypath, 1) <> "\" Then mypath = mypath & "\"

    Application.DisplayAlerts = False

    '取消显示系统警告和消息,避免重名工作簿无法保存。当有重名工作簿时,会直接覆盖保存。

    Application.ScreenUpdating = False

    '取消屏幕刷新

    For Each sht In Worksheets

    '遍历工作表

        sht.Copy

        '复制工作表,工作表单纯复制后,会成为活动工作薄

        With ActiveWorkbook

            .SaveAs mypath & sht.Name, xlWorkbookDefault

            '保存活动工作薄到指定路径下,以默认文件格式

            .Close True '关闭工作薄并保存

        End With

    Next

    MsgBox "处理完成。", , "提醒"

    Application.ScreenUpdating = True '恢复屏幕刷新

    Application.DisplayAlerts = True '恢复显示系统警告和消息

End Sub


小贴士:

1,由于代码取消了系统信息警告(Application.DisplayAlerts = False),当保存文件的路径下有重名工作簿时,该段代码会直接以新文件覆盖旧文件的并保存,但不会发出提醒信息。

2,这段代码结合之前一期的代码,VBA常用小代码007:一键将总表数据拆分为多个分表,可以实现将总表数据,按指定字段,拆分为多个工作簿~

4cbfc0b30bca9de06631f182e4c6b47b.png

VBA编程学习与实践

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值