
哈喽,爱知趣的小伙伴们,我们又见面了,今天来分享的是将工作簿中的工作表拆分为工作簿。
白话是,把一个文件里的工作表拆分成文件。
这也是很多小伙伴工作中经常用到的,用vba可以轻松实现,能大大提高你的工作效率哟,
使用wps的同学就当是看戏吧,因为你的wps可能并不支持vba,即使能用vba,下面的代码可能到你那就不能正常使用了。
先来看一下数据源图吧。

将数据源之外的 6张工作表拆分为工作簿(文件),工作表名字就是工作簿名字。
接下来请看代码图,

接下来就看动画片了。

看了动画片有没有觉得很高效呢??

如果就这6个表,确实不如手工操作来得方便,毕竟抄这些代码也需要一些时间。
如果是30张300张工作表呢?又或者经常都要拆呢?
所以还是要考虑使用场景滴。。。。
好啦,还是给有需求的人讲解一下思路流程吧!
首先是设置保存路径
ThisWorkbook.Path 表示写代码的这个工作簿所在路径(返回这个文件所在的文件夹路径)
如果你想换个地方放修改它就可以了,比如 要放到 E 盘的 土豆 文件夹里那就是
myPath = "E:\土豆\" 注意路径后面是有 \ 的哟
接下来是新建一个工作薄,用来接受复制出来的工作表
Set nBook =Workbooks.Add
然后就是循环复制工作表啦
复制一个,保存一个,重复的操作就交给傻傻的代码去干吧!!
SaveCopyAs 表示另外复制一个副本来保存
与 SaveAs(另存)的区别是,SaveAs 另存的会重新打开一下文件,我们只需要另存,不需要重新打开,所以 SaveCopyAs 更适合
文件保存好以后,再从nbook中把复制进去的工作表删除掉,这样就能保存下次再复制进去的时候不会有其它工作表在里面啦!!
最后的 nBook.CloseFalse '关闭新建的工作簿
是把新建的工作簿关闭掉,后面的 false 是不保存的意思,临时用的,不需要保存。

刚才为什么一闪一闪的??
那是因为它一直在复制粘贴啊,就会这样一闪一闪的,
在vba里可以使用Application.ScreenUpdating = False 来关闭屏幕刷新
这样就不会闪得那么刺眼了,至于加在哪里呢??同学们自己思考一下,做一下测试吧!
留点bug在里面,逼着让你动手去修改,看你学不学得会!!
怎么样,会VBA是不是很方便呢?赶紧动手练习吧!!
今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。
点击阅读原文一键登录官网,海量视频vip任意学!(可试看)
夜雨聆风


