excel学习库

excel表格_excel函数公式大全_execl从入门到精通

将EXCEL工作表中无用处的空白行删除

大家好,时间如白驹过隙,我很早以前开始学习利用VBA,忽然间已有20多年了。开发过大小不同的VBA程序程序已数不胜数。VBA是利用Office实现个人小型办公自动化的有效手段(工具),这是我的对VBA的定义。如今,在我的学习平台,以传递我多年实际经验为宗旨,授人以渔,传递给大家真正的VBA知识。如果大家对VBA感兴趣,认为VBA可以给自己的实际工作带来切实的帮助,最好系统学习我的教程,成为我的学员,汲取我的经验。本人年龄大了,学员众多,目前只能满足对学员答疑,辅导,对非学员朋友还望见谅。 今日推出常用“积木”过程案例分享第323期,内容是: EXCEL中,如何删除工作表中的空白行。我推出的专辑就是我多年实际利用VBA的经验记录,都来源于我多年的实践经验。目前我已经将所有代码修正为适合64位和32位两种系统,大家要把这些代码块作为一块块的积木对待,平时要多积累,建立自己的“积木库”,用时拿来可以修正、组合。这就是我的“积木编程”的思想。这些讲解就是我推出的“积木”方案,希望大家加以利用。最近代码多是出自我的第一套教程”VBA代码解决方案”。这些是非常实用的方案。========================= ① ========================= Sub mynz_23() '如何删除工作表中的空白行 Dim rRow As Long Dim LRow As Long Dim i As Long rRow = Sheets("23").UsedRange.Row LRow = rRow + Sheets("23").UsedRange.Rows.Count - 1 For i = LRow To rRow Step -1 If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then Rows(i).Delete End If Next End Sub=========================②======================== 代码解读: 1) 第5行代码获得工作表中已使用区域的首行行号,其中使用UsedRange属性返回工作表中已使用的区域。 2) 第6行代码获得工作表中已使用区域的最后一行行号。 3) 第7行到第11行代码从最大行数至最小行数循环判断指定行是否为空行,若为空行则删除该行。 4) 其中第8、9行代码使用工作表CountA函数判断当前行已使用单元格的数量,如果为零说明此行是空行则使用Delete删除。 5) UsedRange属性应用于Worksheet对象,返回指定工作表中已使用区域的Range对象,即返回工作表中已使用的单元格区域。 6) WorksheetFunction.CountA 方法 用于计算非空单元格及参数列表中值的个数。 7) Application.WorksheetFunction.CountA(Rows(i)) 表示选中Rows(i)行的非空单元格的个数。 UsedRange.Row表示已用单元格第一行的序数; UsedRange.Rows.Count表示已用单元格总的行数; 需要注意点是:此处一定要从最大行数至最小行数开始循环判断,因为如果工作表中存在两行及两行以上的相邻空行,从最小行数开始循环删除的话,当第一行空行被删除后,被删除行下面的一行会往上移位,而此时For...Next循环的计数器已经加1,所以会出现漏删除的现象。各套教程的介绍: 第1套(初级):VBA代码解决方案 第2套(中级+):VBA数据库解决方案 第3套(中级-):VBA数组与字典解决方案 第4套(初级):VBA代码解决方案之视频 第5套(高级):VBA中类的解读和利用 第6套(高级):VBA信息获取与处理 上述教程的学习顺序:1→3→2→6→5或者4→3→2→6→5。其中第四套是对第一套的视频讲解,所以第一套和第四套只选其一即可。如以提高自己能力为目的可以WeChat: VBA6337或者NZ9668 分享成果,随喜正能量

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接