嗨玩手游网

VBA代码解决方案之二十八:EXCEL中,如何删除工作表中的空白行

今日讲解VBA代码解决方案之二十八,EXCEL中,如何删除工作表中的空白行,这里要首先讲解的是Range对象的Delete方法,此方法用于删除对象。

语法:expression.Delete(Shift)

参数

a) expression是必需的,返回一个Range对象。

b) Shift是可选的,指定删除单元格时替补单元格的移位方式。可为以下 XlDeleteShiftDirection常量之一:xlShiftToLeft或xlShiftUp。如果省略该参数,则Microsoft Excel将根据区域的图形决定移位方式。

下面我们将就实际的应用来讲解如何应用DELETE方法,这个方法也是VBA中应用的非常广泛的,可以用于VALUE的删除,也可以用于格式的删除,还可以用于行的删除等等。要根据具体的条件来选择删除的对象,这就要根据实际问题来做具体判断,这里我要讲解的是\"如何删除空白行\"。这个问题也是在实际工作中应用的最为广泛的方法。下面我们看代码:

Sub MyDelBlankRow()

Dim rRow As Long

Dim LRow As Long

Dim i As Long

rRow = Sheets(\"Sheet9\").UsedRange.Row

LRow = rRow + Sheets(\"Sheet9\").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

代码解析:MyDelBlankRow过程删除工作表中已使用的区域的所有空行。

a) 第5行代码获得工作表中已使用区域的首行行号,其中使用UsedRange属性返回工作表中已使用的区域。

b) 第6行代码获得工作表中已使用区域的最后一行行号。

c) 第7行到第11行代码从最大行数至最小行数循环判断指定行是否为空行,若为空行则删除该行。

d) 其中第8、9行代码使用工作表CountA函数判断当前行已使用单元格的数量,如果为零说明此行是空行则使用Delete删除。

e) UsedRange属性应用于Worksheet对象,返回指定工作表中已使用区域的Range对象,即返回工作表中已使用的单元格区域。

f) UsedRange.Row表示已用单元格第一行的序数; UsedRange.Rows.Count表示已用单元格第一行的行数;

g) WorksheetFunction.CountA 方法 用于计算非空单元格及参数列表中值的个数。

h) Application.WorksheetFunction.CountA(Rows(i)) 表示选中Rows(i)行的非空单元格的个数。

需要注意点是:此处一定要从最大行数至最小行数开始循环判断,因为如果工作表中存在两行及两行以上的相邻空行,从最小行数开始循环删除的话,当第一行空行被删除后,被删除行下面的一行会往上移位,而此时For...Next循环的计数器已经加1,所以会出现漏删除的现象。

运行MyDelBlankRow过程工作表区域所示:

代码窗口:

运行后的结果:

今日内容回向:

1 删除工作表行数的思路是什么?

2 UsedRange.Row 意义是什么?

3 Application.WorksheetFunction.CountA(Rows(i)) 是什么意义?

批量删除空白行,你做了2小时,同事2分钟就搞定了,这差距有点大

Hello.大家好,相信大家在工作中都或多或少的遇到过表格中存在空白行的情况,如果空白行只有一个或者两个,我们可以手动将其删除,如果空白行很多,手动删除就会非常的浪得时间,今天就跟大家分享三种批量删除空白行的办法,操作都非常的简单

一、排序法

利用这种方法我们是通过排序将空白行放在表格的最后面,达到批量删除空白行的效果,首先我们选择任意一列,然后点击排序,选择升序,这样的话带有数据的行,就会放在表格的上面,而空白行就会在表格的下面,我们只需要将网格线去掉即可

二、定位法

这种方法是先找到空白的单元格,然后选择空白的单元格将整行删除,首先我们选择一列,然后按Ctrl+g调出定位选择定位条件,然后选择空值,点击确定,这样的话我们就选择了这一列的空白的单元格,然后点击鼠标右键,选择删除,然后选择整行即可批量删除空白行

三、查找法

这种方法和定位法相似,都是选择空白单元格,然后删除整行,首先选择一列,按Ctrl+F调出查找窗口,直接点击确定,然后按快捷键Ctrl+a选择所有空白的数据,点击鼠标右键选择删除,整行即可

以上三种方法都能批量的删除空白行,你更喜欢哪种方法呢,我想排序法的占大多数吧

我是excel从零到一,关注我持续分享更多excel技巧

Excel如何一键删除数据区域的空白整行?

今天要和大家分享的是,Excel如何一键删除数据区域的空白整行?比如下图中的第4行和第7行,不用一行一行的删除,直接……

(方方格子插件)

1.先看动图演示吧

2.开始之前先选中数据区域

3.然后选择方方格子插件按钮命令

4.接着单击批量删除操作

5.选择其中的删除空行和空列操作

6.弹出界面后直接单击确定按钮

7.即可完成删除整行的操作

如果经验帮到了你,请记得分享!

更多攻略
游戏推荐
更多+