vbscript使用特定条件删除Excel工作表中的行

时间:2013-10-03 16:51:04

标签: vba excel-vba vbscript excel

我有一张带有的Excel工作表,其中包含如下数据,其他列中有数据。

这里的行之间有空白单元格。在1014,1027之间有1个空白细胞。在1027和其他1027之间有3个空白单元格等等。

脚本应删除包含“A列”中数据的行之间“A列”中多个空白单元格的行。

例如:脚本应删除行1027(起始行始终具有值)和接下来的三个空行,因此如果两个非空值之间的间隔为1,则不应删除行。应执行相同的过程整张纸。

以下值之间有多个空单元格。

代码

1014

1027

1027

1033

1033

1033

1020

1033

1008

请在此建议我。

1 个答案:

答案 0 :(得分:0)

尝试一下:

Sub rowKiller()
    Dim N As Long, i As Long

    N = Cells(Rows.Count, "A").End(xlUp).Row
    For i = 2 To N - 1
        If Cells(i - 1, 1) <> "" And Cells(i, 1) = "" And Cells(i + 1, 1) <> "" Then
            Cells(i, 1).Value = "XXX"
        End If
    Next i

    Range("A:A").Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

    Range("A:A").Replace "XXX", ""

End Sub