分享

微博文章

 琳iqtgftvtere8 2017-06-20

文:EXCELers(网名看见星光)

有时,我们需要将一个工作薄里的每张工作表,另存为单独的工作薄;如果只是一两张工作表需要这样处理,我们手工操作就挺好的,可如果是若干张,手工操作即烦又慢。

如果使用VBA来处理,这事就简单了。怎么个简单法呢?,请看动画视频:

动画中所使用的VBA代码如下:

iiiiiiiiii

Sub newbooks()
    Dim sht As Worksheet, mypath$
    Application.DisplayAlerts = False
    '取消显示系统警告和消息
    Application.ScreenUpdating = False
    '取消屏幕刷新
    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 & '\'
    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

iiiiiiiiii

代码中,注释部分,对每句代码的作用都做了说明,此处我们就不再啰嗦了。

新人朋友可以会对VBA代码有抵触心理,觉得那么高大上的东西,自己玩的转吗?大可不必有这样的疑虑,函数其实也是一种代码,所谓函数,只是微软把一些常用功能用编程模块化后的结果,所以——如果能用好函数,自然也能用好VBA代码。

如果并不打算深入学习VBA,只是临时使用下,那只要会复制黏贴就好了!

参见VBA小代码使用步骤说明:

能看到结束,想必对于VBA也是很感兴趣的吧?我们下期分享如何按照指定字段,将数据表快速拆分为单独的工作表。什么意思呢,比如,一张表格有不同班级的人员,现在需要把他们按照班级,快速拆分为各个的工作表~~

照例贴送示例文件百度网盘:百度网盘 (网盘里还有很多惊喜~~)

更多实用VBA小代码,请持续关注:@EXCELers

握手,晚安,明见。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多