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

Delete 2 Rows above if specific cell is blank [Loop]

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

例如:

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

然后...

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

等..

实现此目的的一种方法如下,我在检查上面的行 (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