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

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

excelperfect

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

图1

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

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

原文发布于微信公众号 - 完美Excel(excelperfect)

原文发表时间:2019-05-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券