大家好,我们今日继续讲解VBA代码解决方案的第57讲内容:判断工作表是否为空表。在实际的工作中,我们要常常判断某个工作表是否为空的,那么在VBA中是如何能做到这一点呢?

VBA中没有专门的属性或函数可以判断工作表是否为空白工作表,可以使用自定义函数返回指定工作表是否为空工作表

知识点一:利用工作表函数CountA统计工作表已使用区域的非空单元格个数:COUNTA函数功能是返回参数列表中非空的单元格个数。利用函数 COUNTA 可以计算单元格区域或数组中包含数据的单元格个数。

知识点二:我们可以自定义一个函数,利用CountA统计工作表已使用区域的非空单元格个数,如果这个数值为0,那么这个工作表就是空的。

首先看看我们的自定义函数,如下面的代码所示。

Function MyIsBlankSht(Sh As Variant) As Boolean

If TypeName(Sh) = "String" Then Set Sh = Worksheets(Sh)

If Application.CountA(Sh.UsedRange.Cells) = 0 Then

MyIsBlankSht = True

End If

End Function

代码解析:

自定义MyIsBlankSht函数包含一个Variant变量类型的参数,代表工作表名称或者对象名称。如果指定的工作表为空工作表,则该函数返回True。

第2行代码使用TypeName函数判断参数Sh是否为字符串类型("String"),如果是字符串,则将以该字符串作为名称的工作表赋值给变量Sh。

第3行代码通过工作表函数CountA统计工作表已使用区域的非空单元格个数,如果统计结果为0,则表示该工作表为空工作表。

我们看看上述自定义函数在实际中的利用:有了上述的自定义函数,现在就可以像使用VBA函数一样使用自定义的MyIsBlankSht函数,如下面的代码我们要首先判断一下某个工作表是否为空,如果为空,那么删除它。

Sub MyDelBlankSht()

Dim Sh 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 & "个工作!"

End Sub代码解析:

使用自定义的MyIsBlankSht函数删除工作簿中所有空工作表。

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

第5行到第7行代码,使用For Each...Next语句遍历所有工作表,使用自定义的MyIsBlankSht函数判断是否为空表,如果为空表则使用Delete方法删除。

注意 自定义MyIsBlankSht函数仅仅判断工作表单元格区域内容是否为空,如果工作表中存在其它对象(如图形对象、数据有效性、单元格批注等),不作为判断的基准。

代码实测:

代码截图:

运行截图:每删除一个工作表会告诉我们删除的个数。

最后会告诉我们共删除了几个工作表:

今日内容回向:

1 如何判断工作表为空呢?

2 如何删除空白的工作表呢?

中判断字符串是否为空_自己动手编写VBA代码,判断一个工作表是否为空,然后删除它...相关推荐

  1. vba工作表重命名_使用带有条件的VBA代码重命名工作表列表

    vba工作表重命名 Renaming of worksheets can be done manually, but it will look like a massive task if there ...

  2. mysql user表 空_安装mysql发现mysql对应的数据库user表内容是空的

    安装mysql发现mysql对应的数据库user表内容是空的: 所以在使用root登录始终都不能成功. 后来查看了一下日志发现: [root@n1 mysql]# mysql_install_db - ...

  3. 栈判断字符串是否为中心对称_数据结构和算法入门之判断括号字符串的合法性(valid parentheses)...

    今天终于开始看栈的部分咯!栈这个东西没啥好介绍的,我想基本只要写过一丢丢代码的人已经都非常清楚了.今天这个题目是一个非常简单但是也很经典地用到栈这个数据结构的题,废话不多说,原题链接如下: Loadi ...

  4. ios 怎么判断字符串的字节数_如何用IOS判断字符串是不是纯数字

    我们在开发项目的时候经常会需要我们只输入一段纯数字,当我们在输入这段数字后就需要对字符串进行判断,看看是不是符合纯数字,那么你知道如何用IOS判断字符串是不是纯数字吗? 下面介绍几种判断字符串是否为纯 ...

  5. 信息学奥赛一本通 1146:判断字符串是否为回文 | OpenJudge NOI 1.7 33:判断字符串是否为回文

    [题目链接] ybt 1146:判断字符串是否为回文 OpenJudge NOI 1.7 33:判断字符串是否为回文 [题目考点] 1. 字符串遍历 如何遍历字符串的一半? 如果字符串长度为len,那 ...

  6. VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿

    1 将excel中的多个工作表sheet合成一个工作表 工作表合成前: 工作表合成后: **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: 第二步:点击"开发 ...

  7. 离开当前屏幕的判断方法_EXCEL 一个工作表如何快速拆分多个工作表的方法

    下面说下在一个工作簿里把里面的一个工作表依据实际需求的条件内容,快速拆分成多个工作表方法. 1.打开excel文件,现在需要依据地区和国家这个条件,分别单独生成不同的工作表出来,最原始的方法是手动新建 ...

  8. excel高级筛选怎么用_excel中使用高级筛选7个示例、多个条件、复制到另一个工作表公式...

    excel中有筛选和高级筛选,两者的区别在于只能在表范围内进行筛选,只能设置两个条件:高级筛选可以在表范围内进行筛选,并将筛选结果复制到另一个范围或另一个工作表中,它可以将三个或多个条件组合在一起,也 ...

  9. Python办公自动化实践1:从多个excel表中提取数据并汇总到一个工作表页中,表格,抽取,sheet

    Python办公自动化实践1:从多个excel表中提取数据并汇总到一个工作表页中,表格,抽取,sheet 发表时间:2020-04-26 问题:从当前目录或子目录中查询符合条件的excel表格,并从这 ...

最新文章

  1. 5G NR-U — Overview
  2. mybatis中传入String类型参数的问题
  3. cdn jquery怎么没有提示_第一个jQuery程序
  4. 自定义日历控android,Android自定义日历Calender代码实现
  5. 【火炉炼AI】机器学习032-用户之间相似度的计算
  6. python 匿名函数装饰器
  7. python的pass语句_Python pass语句–通过Python
  8. WebStrom如何创建项目,为什么我开始选择HTML5到自定义路径报错
  9. 备考2022年软考论文写作注意要点
  10. 基于51单片机的数控可调稳压电源Proteus仿真(仿真+源码+全套资料)
  11. 蛐蛐播放器 android,蛐蛐五线谱播放器
  12. ICM20948九轴传感器角速度读取与实际单位转化的换算关系
  13. SAS学习7(gpolt过程、gchart过程、图形输出、ods功能、假设检验,ttest过程,rank过程,秩和检验(非参数检验))
  14. 算法效率的衡量方式 - 时间复杂度与空间复杂度
  15. 王家林人工智能AI第13课:使用Logistic Regression在Social Network上销售汽车并进行可视化性能评估老师微信13928463918
  16. 文献管理软件工具讲解-------阿冬专栏!!!
  17. win11任务栏无响应/卡死
  18. 嵌入式:Altium Designer18提升速度的操作(画开发板笔记)
  19. 从校招时间谈大学求职准备
  20. matlab 空间曲面的绘制

热门文章

  1. windows php apc 安装,php-apc 安装
  2. ajax后台如何把对象转为json_SM后台数据与前端(PC、M站、Android、IOS)的交互——页面渲染...
  3. 高清晰桌面壁纸,视觉控不用到处找尽在高图网
  4. 贵气烫金剪纸牛年新年春节海报PSD分层素材模板
  5. 苹果Apple Watch样机Mockups素材,你用过吗?
  6. 最新创意购物促销海报设计,广告人必看!
  7. 民航飞行学院计算机学院院长,中国民航飞行学院计算机学院领导及老师到访四川华迪开展教研活动...
  8. oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...
  9. android 类型.this,Android中this的用法
  10. keytool生成证书_基于 TrueLicense 的项目证书验证