常用功能加载宏——一个工作簿的工作表另存为工作簿

时间:2022-07-22
本文章向大家介绍常用功能加载宏——一个工作簿的工作表另存为工作簿,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前面实现了多个工作簿和合并到一个工作簿的功能,反过来,将一个工作簿里的工作表,另存为多个工作簿,然后分发给不同的人,应该也是经常会碰到的。让我们看看使用VBA如何实现:

首先在customUI.xml中增加代码:

      <button id="rbbtnSht2Wb" label="工作表保存工作簿" onAction="rbbtnSht2Wb" imageMso="FileSaveAsExcelXlsx" />

回调函数:

Sub rbbtnSht2Wb(control As IRibbonControl)
    Call MShtWk.Sht2Wb
End Sub

函数实现:

Sub Sht2Wb()
    Dim path As String
    '保存在活动工作簿同一目录下
    path = ActiveWorkbook.path & Application.PathSeparator
    
    '关闭屏幕更新,提高速度
    Application.ScreenUpdating = False
    
    Dim sht As Worksheet
    For Each sht In Worksheets
        sht.Copy
        '按工作表的名称保存工作簿
        ActiveWorkbook.SaveAs path & sht.Name
        ActiveWorkbook.Close True
    Next
    
    Application.ScreenUpdating = True
    Set sht = Nothing
End Sub