如果特定单元格为空,则删除上面的 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
我有一份硬编码报告,它生成大约 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