恭喜下面粉丝:维维、Luo、白雪皑皑,获得书籍《Excel VBA跟卢子一起学 早做完,不加班》,加卢子微信chenxilu2019,发送姓名电话地址。 今天的文章主要是对以前发过的教程进行完善,更符合个性化要求。 本来昨天的文章是将工资批量生成多个工作表,可能有部分粉丝还想将这些工作表另存为多个工作簿。 将工作表批量另存为工作簿,一个表大概1秒,25个大概25秒,操作动画我把中间等待的时间裁剪掉。 Sub 另存为工作簿() Dim i As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False For i = 3 To Sheets.Count ThisWorkbook.Sheets(i).Copy ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Sheets(i).Name ActiveWorkbook.Close Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub 部分代码含义: Application.ScreenUpdating = False 关闭屏幕更新 Application.DisplayAlerts = False 关闭警告对话框 再来看另外一个案例,按职业拆分工作表,在拆分的时候,原有的这3个工作表不能删除掉。 对于这个,需要对原来的代码做简单的修改。 在VBA中,工作表名称有很多的表示方法。这里用最原始的Sheet1、Sheet2、Sheet8表示,具体的要看左边工作表名称的数字,而不是乱写。 Rem 删除非要求的工作表 For Each Sht In Worksheets If Sht.CodeName <> "Sheet1" And Sht.CodeName <> "Sheet2" And Sht.CodeName <> "Sheet8" Then Sht.Delete Next Sht 这一段的意思就是工作表不是Sheet1、Sheet2、Sheet8三个的就删除。 改完后,来看看效果。 当然,模板不管怎么改善,最后只能满足大多数人的需求,没办法满足所有人的需求。加入VIP会员,实际工作上有问题在群内提出,这边会尽最大的努力帮你解决。 提取码:hcy3 这边全部课程共计 1907.5 元,报名VIP会员,仅需 888 元,就可以学到全部课程。 上篇:Excel一键生成2020年保密工资签收清单,快得不得了! VBA看不懂没关系,平常记得将好用的模板收集起来,关键时刻能够找到模板,将内容放到模板里面运行就好。 当然能够修改里面的部分代码为自己所用那就再好不过,不会修改也没关系,平常多录制宏,录制完后也会生成一些代码,借用这些代码。 作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban) |
|