VBA-如果单元格为空白,请删除整行

问题描述 投票:0回答:2
shMassPrelim.Range("AG2:AG" & lr).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

上面的代码是我用来在AG列中查找空白单元格的内容。但是,列AG基于If公式。这是为什么我返回“无单元格空白”错误的原因吗?

vba excel-vba excel-2007 excel
2个回答
0
投票

尝试一下?

Sub misc()
Dim cell As Range
Dim EMPTY_CELL As String
    EMPTY_CELL = ""
    For Each cell In Selection
        If Trim(cell.Value) = EMPTY_CELL Then
            cell.EntireRow.Delete
        End If
    Next
End Sub

0
投票

这将过滤并删除空白行

Sub DeleteStuff()
    Dim Rws As Long, Rng As Range

    Rws = Cells(Rows.Count, "AG").End(xlUp).Row
    Set Rng = Range(Cells(2, "AG"), Cells(Rws, "AG"))

    Application.ScreenUpdating = 0

    Range("AG:AG").AutoFilter Field:=1, Criteria1:="="
    Rng.SpecialCells(xlCellTypeVisible).EntireRow.Delete

    ActiveSheet.AutoFilterMode = 0

End Sub

0
投票

Davesexcel,

您的代码效果很好,但是我想弄清楚如果范围为AG:AG,它如何/为什么在Field = 1(第1列)上进行过滤

而且,我如何做另一个自动过滤器来删除列中具有0的行?我没有运气就尝试了上述方法。

© www.soinside.com 2019 - 2024. All rights reserved.