如果特定单元格为空,则删除上面的2行[循环]

时间:2018-06-08 14:57:26

标签: excel excel-vba loops delete-row no-data vba

我有一个硬编码报告,可生成大约10个部分。运行报告后,某些部分可能不包含数据。我想搜索那些特定的单元格并删除上面的两行(saection标题),如果该单元格为空(无数据)。

例如:

如果单元格B586为空,则删除行584:585。

然后......

如果单元格B505为空,则删除行503:504

等。

1 个答案:

答案 0 :(得分:0)

实现此目的的一种方法如下,我在检查上面的行(505)之前删除下面的行(586)的原因是因为一旦你删除了行,行就会向上移动,实质上是改变了行号:

Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    If ws.Range("B586").Value = "" Then ws.Rows("584:585").Delete
    If ws.Range("B505").Value = "" Then ws.Rows("503:504").Delete
End Sub