excel中使用vba快速将多个工作表存为单个文件
工具/原料
excel2013
更多经验请关注,如果帮到了你,请在上方给个投票谢谢支持。好人一生平安。
先顶后看年薪百万,如果帮到了你,帮忙给个好评,这对小编很重要,万分感谢。
方法/步骤
1、首先我们打开一个工作样表作为例子。
2、我们捂执涡扔使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:Sub每个工作表另存为单独的工作簿()Subade()DimshtAsWorksheeti禊诬娱飑path=ThisWorkbook.Path&"\"ForEachshtInSheetssht.CopyActiveWorkbook.SaveAsipath&sht.Name&".xls"ActiveWorkbook.CloseNexEndSub
3、我们设置一个保存文件的路径为当前工作薄的路径,path属性后连接斜杠为文件路径分隔符。
4、使用foreach循环,将sht变量历遍本工作薄的所有工作表。这里需要做一个sht.copy操箧咦切诏作复制本标签的工作表。没有汜枸赓觅指定after或者before参数,所以excel会新建一个工作表来保存该标签工作表。
5、然后使用saveas方法将该工作表保存为该标签工作表的名称并保存为单个的工作薄文件。记住文件名并不包含有后缀名,所以我们需要手动添加后缀名来关联excel程序。
6、这里可以添加一条禁止骂蹭爽廓屏幕更新的语句,Application.ScreenUpdating=False这样可以提升vba的运行效率。但是为了显示宏的运行过程,所以我没有添加。