Excel实战技巧45: 整理数据,让每个数据块之间只用一个空行分隔

2019-07-19 14:46:44 浏览数 (1)

学习Excel技术,关注微信公众号:

excelperfect

在工作表中有很多数据块,每个数据块之间使用空行分隔,但空行行数不同,有的有2个空行,有的有3个空行,如下图1所示。

图1

现在,想要每个数据块之间都使用一个空行来分隔。可以使用下面的VBA代码来完成:

代码语言:javascript复制
Sub SeparateByBlankRow()
    Dim iRow As Long
    Dim LastRow As Long
    '获取工作表最后一行
    LastRow = Cells(Rows.Count,1).End(xlUp).Row
    '从最后一行开始数据遍历
    For iRow = LastRow To 2 Step -1
    '判断条件是存在连续的空行则删除一个空行
        If (Cells(iRow, 1).Value = ""_
           And Cells(iRow   1, 1).Value<> "" _
           And Cells(iRow - 1, 1).Value ="") Then
            Cells(iRow, 1).EntireRow.Delete
        End If
    Next iRow
End Sub

运行上述代码后的结果如下图2所示。

图2

程序代码的图片版如下:

小结

1. 找到工作表中存在数据的最后一行,从最后一行往前遍历是关键。这是编写类似程序例如删除行时首先要考虑的。

2. 删除其中的空行但仅保留一个空行,要合理设置判断连续空行的条件。

3. 本示例虽然简单,但在整理数据时经常会用到,特别是整理大量数据时,运用少量的代码即可自动完成工作。

vba

0 人点赞