Excel VBA 7.60需要删除无用工作表时,加班派:手动删,高效派:VBA删
一起学习,一起进步~
说起工作表的删除,在昨天我们分享了一种方法,就是删除空白工作表的,但是日常工作中,要删除的并不仅仅是空白工作表,大多数时候还是有数据的非空工作表,一方面因为非空工作表本身的数据比较大,在完成了他的使命之后我们需要删除他们释放内容,另外一方面有时候一些关键的数据并不想要出现在对外的工作表中,所以要删除部分非空工作表,那么你会选择怎么删除呢?
手工删除,没问题,加班派说的就是你,你是领导,当然你可以交给下属,没毛病,但首先你要是领导啊,如果上面两派你都不是,那么广大普通的办公一族要如何快速的删除工作表,成为一个在工作时间保质保量的完成任务的高效派呢?试下VBA吧
场景说明
非常普通的多个工作表的数据文件,数据并不算很多,我们其实手工也可以完成的,BUT,要留意我图中标红色的地方,发现没有取消隐藏的功能处于激活状态,是可以使用的,说明当前工作薄中并不仅仅只有我们能够看到的这几个工作表,还存在这个隐藏工作表!当多数情况下,我们都不会去主动查看是否有隐藏工作表的,所以你的工作表删除的就不干净,里面可能会存在未删除的关键数据或者超大型工作表的存在,所以手工删除终究有瑕疵,那么来试下VBA
代码区
Sub DeleteWs()
Dim sth As Worksheet
For Each sth In Worksheets
If sth.Name <> "总表" Then
Application.DisplayAlerts = False
sth.Delete
Application.DisplayAlerts = True
End If
Next sth
End Sub
依然非常的简短,来看看效果
一闪而过,我们的目的是将总表之外的其他工作表全部删除。
程序执行之后,就剩下一个工作表了,那么存在的隐藏工作表呢?
取消隐藏已经是灰色了,说明原先处于隐藏状态的工作表也被我们成功的删除了,这样一来,我们就不用去顾忌工作表中是否存在隐藏工作表了,直接用代码轻松完成工作表的删除,既轻松又不会有任何的遗漏,妥妥的高效派
代码分析
so,今天的知识点依然是非常的简单,某种程度上来说,比昨天的内容更加的简单,直接就是工作表的删除
sth.Delete
昨天的代码中,有小伙伴们比较疑惑,为什么再删除工作表的代码前后会各多了一句话呢?
Application.DisplayAlerts = False
****
Application.DisplayAlerts = True
那么这两句有什么作用呢?要知道作用,我们直接注释掉这两句代码,再来执行下程序就知道了。
取消了这两句话之后,我们每次删除工作表都会有这样的提示,每次都要去点击确定,非常的麻烦,所以我们要办法不要出现这样的告警窗口,那么如何实现呢?
Application.DisplayAlerts = False
****
Application.DisplayAlerts = True
没错,就是这两句,不过在使用的时候,还需要注意一点,一定要成对出现了,取消了告警窗口的提示之后,一定要在程序结束之前,将它修改为正常状态,切记,否则后面我们在做其他操作的时候,可能都不会有告警提示窗口,会影响我们的正常操作。
============================
本节课的案例源码已经上传,需要的小伙伴后台私信“7-60-6”,希望大家多支持~~,多多关注 ~ ~
好了,明晚21:00,准时再见!
因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。