首页
学习
活动
专区
工具
TVP
发布

使用VBA代码完成判断工作表是否存在及删除工作表的方法

分享成果,随喜真能量。大家好,今日内容仍是和大家分享VBA编程中常用的简单“积木”过程代码,这些内容大多是取至我编写的“VBA代码解决方案”教程中内容。NO.174-NO.175内容是:

NO. 174:如何利用VBA代码,判断是否为空表,如果为空表则使用Delete方法删除

NO. 175:利用VBA的自定义函数,判断工作表是否存在

VBA过程代码174:如何利用VBA代码,判断是否为空表,如果为空表则使用Delete方法删除

Sub mynz()

DimSh As Worksheet

Application.DisplayAlerts = False

i= 1

For Each Sh In ThisWorkbook.Sheets

If MyIsBlankSht(Sh) Then Sh.Delete: MsgBox "删除" & i & "个工作表了": i = i + 1

Next

Application.DisplayAlerts = True

MsgBox "共删除" & i - 1 & "个工作表!"

EndSub

代码的解析说明:Mynz过程使用自定义的MyIsBlankSht函数删除工作簿中所有空工作表。

代码将Application对象的DisplayAlerts属性设置为False,使删除时不显示系统警告对话框。

使用ForEach...Next语句遍历所有工作表,使用自定义的MyIsBlankSht函数判断是否为空表,如果为空表则使用Delete方法删除。

VBA过程代码175:利用VBA的自定义函数,判断工作表是否存在

Function MyExistSh(Sh As String) As Boolean

Dim Sht As Object

On Error Resume Next

Set Sht = Sheets(Sh)

If Err.Number = 0 Then MyExistSh = True

Set Sht = Nothing

EndFunction

代码的解析说明:自定义MyExistSh函数包含一个String类型的参数,代表需要判断的工作表名称。如果该工作表存在,则返回True。代码判断前面的代码是否出错,如果前面的代码存在错误,则表示不存在指定名称的表。

VBA是实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现推出了四部VBA教程,这些是我多年编程经验的记录,也是我“积木编程”思想的体现。每一讲都是较大块的“积木”,可以独立的完成某些或者某类的过程,有需要的朋友可以联络(WeChat:NZ9668)分享。利用这些可以提高自己的编程效率。其一:“VBA代码解决方案”PDF教程,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点,是初学及中级以下人员必备;其二“VBA数据库解决方案”PDF教程,数据库是数据处理的利器,对于中级人员应该掌握这个内容了。其三“VBA数组与字典解决方案”PDF教程,讲解VBA的精华----字典,是我们打开思路,提高代码水平的必备。其四“VBA代码解决方案”视频教程。目前正在录制,“每天20分钟,半年精进VBA”,越早参与,回馈越多。现在录制到第三册的99讲。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200113A0PM3000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券