如何自动删除几个不连续的行



我正在尝试遍历工作表中的行,我想删除一些满足某些条件的行; 例如,删除第 2 列为空白的行;

我试过:
使用 foreach 遍历然后删除,但是当删除行并且行下的范围上移时,某些行将丢失:

 foreach(Range row in usedRange)
    {
        if(Cells[row.Row, 2] is blank)
            row.EntireRow.Delete(xlShiftUp);
    }
那么,我可以先标记所有需要删除的行

,然后再一次性删除所有标记的行吗?
有没有这样的方法或任何其他方法可以满足我的需求?

多谢;

你可以做这样的事情。 这将查看范围 A7:D20 并删除区域中第 2 列为空的所有行

Dim usedRange As Range
Set usedRange = Range("A7:D20")
For i = usedRange.Rows.Count To 1 Step -1
    If usedRange(i, 2) = "" Then
        usedRange(i, 2).EntireRow.Delete
    End If
Next i

最新更新