基于空白单元删除行

时间:2014-03-24 19:59:54

标签: excel excel-vba vba

如果交叉列中的某个单元格为空,是否有一种简单的方法可以告诉Excel删除行?这需要VBA吗?

作为参考点,我找到了以下VBA代码:

Dim FoundCell As Range
    Application.ScreenUpdating = False
    Set FoundCell = Range("B:B").Find(what:="")
    Do Until FoundCell Is Nothing
        FoundCell.EntireRow.Delete
        Set FoundCell = Range("B:B").FindNext
    Loop

但由于某种原因,当我尝试运行它时会崩溃。

2 个答案:

答案 0 :(得分:0)

如果您要删除 B 列中的值为空的所有行,请尝试:

Sub KleanB()
    Dim B As Range, rDel As Range, r As Range, N As Long
    N = Cells(Rows.Count, "B").End(xlUp).Row
    Set B = Range("B1:B" & N)
    B.Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

答案 1 :(得分:0)

对于非VBA解决方案:

选择可能出现空白的列。按F5(GoTo),单击特殊并选择空白。单击确定。仅选择空白单元格。右键单击其中一个空白单元格,然后单击“删除行”。